Múltiples líneas de texto en un botón. Cada línea tiene diferentes estilos de texto
Hola estoy tratando de crear un botón con varias líneas de texto. Véase el ejemplo a continuación. Cada línea de texto tiene un tamaño de texto y un color diferentes aplicados a él. El botón también debe poder enviar al usuario a la siguiente página. ¿Es esto posible en XML? He buscado por todas partes y no puedo encontrar una solución. Gracias.
(Fuente verde grande) 1r texto del botón (pequeña fuente gris) 2st texto del botón (pequeña fuente blanca)
- Colorear botones en Android con Material Design y AppCompat
- Los botones de notificación de Android no aparecen
- Botón de Android con texto e imagen
- ¿Cómo hacer que una parte del texto haga clic como botón en Android?
- Android: cambia el texto del botón y el color de fondo
Véase el ejemplo:
- Cómo deshabilitar el botón mientras AsyncTask se está ejecutando? (Androide)
- ¿Cómo pasar la edición de datos de texto en forma de cadena a la siguiente actividad?
- Botones de diálogo con texto largo que no se envuelven / exprimido - tema material en android 5.0 lollipop
- Cómo la aplicación de Facebook implementa el botón flotante arrastrable
- Android: diferencia entre el botón positivo, negativo y neutral
- Establecer la transparencia en los botones de android
- Ayuda de Android con cambiar el tipo de fuente del botón, ¿cómo?
- El botón setText con Spannable no funciona para Android 5.0 Lollipop
La imagen no es accesible. Pero de acuerdo con su problema, puede implementar un LinearLayout como componenet principal y establecer su propiedad clicable y focusable, y establecer su fondo a android.R.drawable.btn_default. Establezca la orientación de este diseño a Vetical.
Agregue tantos TextViews de cualquier estilo en este lineallayout en xml o dinámicamente como desee. Pero establezca todas las TextViews focusable y Clickable propiedad en false.
Html.fromHtml (cadena) puede interpretar algunas de las etiquetas hmtl y por lo tanto, puede utilizar html para el estilo del texto de los botones.
Suponiendo que ha definido los botones en un archivo XML, puede configurar el texto de los botones como este en el código Java.
Button button = (Button) findViewById(R.id.button1); String styledText = "<big> <font color='#008000'>" + "My orders" + "</font> </big>" + "<br />" + "<small>" + "You have no current orders" + "</small>"; button.setText(Html.fromHtml(styledText)); // Attach a listener to the button that will make something // happen when the button is clicked button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // Put your Intent code here Log.d("onclick", "Button click registered"); } });
Puede apilar <big>
y <small>
etiquetas HTML para multiplicar su efecto:
private final String btnInnerHTML = "<big><big><big><font color='#000000'><b>%s</b></font></big></big></big><br/><small>%s</small>"; btn0.setText(Html.fromHtml(String.format(btnInnerHTML, "Line1", "Line2")));