Configuración de TextView TextAppeareance mediante programación en android

Voy a implementar un LinearLayout en el que los campos de entrada se generan mediante programación de acuerdo con el número de campos de la tabla de base de datos.

Por desgracia, cuando estoy tratando de establecer el atributo: textApperance como textApperanceLarge en el TextView , no funciona. A continuación se muestra mi código …

 for (int i = 0; i < selectedProducts; i++) { premLayout[i] = new LinearLayout(this); premLayout[i].setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); premLayout[i].setOrientation(LinearLayout.HORIZONTAL); premLayout[i].setGravity(Gravity.TOP); premTextView[i] = new TextView(this); premTextView[i].setLayoutParams(new LinearLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 2.0f)); premTextView[i].setTextAppearance(this, android.R.attr.textAppearanceLarge); premTextView[i].setText(premiumChannels.get(i)); premTextView[i].setId(i + 600); int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 20, getResources().getDisplayMetrics()); premTextView[i].setWidth(px); premLayout[i].addView(premTextView[i]); 

Estoy desarrollando con Visual Studio 2015 y Xamarin. He experimentado el problema de TextView.SetTextAppearance descrito arriba (estoy construyendo mi aplicación para ejecutar tanto en API 22 y 23 plataformas). Intenté extender la clase TextView y reemplazar a SetTextAppearance , pero terminé abandonando este enfoque y en su lugar opté por usar el objeto TextView.SetTextAppearance(Context, int) obsoleto en #pragma warning disable 618 / #pragma warning restore 618 para suprimir la advertencia de compilación. Se construye con éxito y el mismo apk funciona muy bien en los dispositivos Android 5.1 / API 22 y Android 6.0 / API 23.

Utilizar de esta manera. Funcionará.

 textView.setTextAppearance(this, android.R.style.TextAppearance_Large); 

O bien, desde la API 23, no es necesario pasar un contexto. Por lo tanto, puede simplemente llamar a:

 textView.setTextAppearance(android.R.style.TextAppearance_Large); 

Si desea soportar API 23 o superior, así como la inferior, puede utilizar el siguiente método para simplificar su tarea. Utilice el siguiente método sólo si ya está orientado a API 23 o superior. Si la API de orientación es menor de 23, el código que aparece a continuación proporcionará un error ya que el nuevo método no estaba disponible en él.

 public void setTextAppearance(Context context, int resId) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) { super.setTextAppearance(context, resId); } else { super.setTextAppearance(resId); } } 
  • Spannable Vs Tipo Vs Html
  • Espaciado de línea individual para cada línea
  • Programar el texto TextView de forma programática
  • Alineación de la línea de base de dos vistas de texto en Android
  • TextView con color de fondo sólo en el propio texto
  • Selector de texto no funciona
  • No puede desplazar el ViewPager al tocar TextView (con android: gravity = "center") en él
  • Actualizar Android TextView
  • El fondo de TextView se está estirando
  • Valor entero en TextView
  • Android: ClickableSpan en TextView seleccionable
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.