¿Cómo usar dos tamaños de fuente diferentes para texto de botón en Android?

¿Cómo podría implementar un fondo de botón para ImageButton o Button que contiene 2 textview cada uno usando diferentes tamaños de fuente? No puedo usar imágenes estáticas como fondo y tengo que lograr esto, ya sea utilizando xml o mediante programación.

Se trata de un teclado numérico y lleva un valor numérico y un conjunto de alfabetos cada uno de los cuales utiliza diferentes tamaños de fuente y debe definirse como texto de botón.

Introduzca aquí la descripción de la imagen

Estas son algunas de las sugerencias que aparecen en mi cerebro, pero parece tener limitaciones ya que quiero reutilizar el componente de interfaz de usuario y evitar la repetición de código.

  1. Cree un xml de diseño que contenga 2 campos de texto y establezca eso como fondo en el botón. ¿Pero cómo puedo conseguir una referencia de estos campos del textview para fijar el valor en ellos en MyActivity.java?

  2. ¿Utilizar una lista de capas? Sigue siendo la misma referencia de problema de textviews

  3. O crear una vista personalizada e inflar el diseño mencionado en el paso 1. Esta solución resuelve mi problema.

¿Existe alguna otra solución para este requisito de IU?

Gracias.

Espero que esto ayude. Este curso no es la única solución, pero es bastante simple. Agregue la parte xml en su xml en lugar del botón.

XML

<LinearLayout android:id="@+id/button_layout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="20sp" android:text="5"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="12sp" android:text="ABC"/> </LinearLayout> 

CÓDIGO

  LinearLayout button= (LinearLayout)findViewById(R.id.button_layout); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO DO whatever you want to do here } }); 

Para su botón puede utilizar código como este

No olvide poner la fuente en su carpeta de activos

  Button btnA=(Button) findViewById(R.id.button1); Typeface typeface = Typeface.createFromAsset(getAssets(), "yourFont.ttf"); btnA.setText("my custom font"); btnA.setTypeface(typeface); btnA.setTextSize(20);//as per your size 

Y para más referencia vea esto

Haz como tu segundo botón si esto me ayuda a hacerme gracias …

  • Java android: agregando una nueva línea usando TextView
  • Fondo personalizado de la ventana emergente del error
  • XAMARIN (C #) - ¿Hay una manera de subrayar un TextView mediante programación?
  • Cómo obtener las coordenadas XY y el tamaño de píxeles de un TextView?
  • Textview dentro de RelativeLayout en la vista personalizada ¿No se aplica la gravedad correctamente?
  • HTML.fromHtml Saltos de línea que desaparecen
  • TextView.setText (Android) está causando accidentes .. alguna idea ¿por qué?
  • Desplazamiento por Android en la lista
  • Android y mostrar texto de múltiples líneas en un TextView en un TableRow
  • ¿Cómo se centra un texto en el diseño?
  • Animación del tamaño de texto de TextView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.