2011-11-12 29 views
36

Layout_width de mi botón establecido en match_parent.cómo puedo mostrar varias líneas de texto en un botón

Con el fin de mostrar las líneas múltiples en el botón, he intentado:

  • inserción '\ n' en el texto en el botón

  • conjunto maxLines falsa conjunto SingleLine a 2 o 3

  • convertir hTML a partir Html.fromHtml

Nada trabajó. '\ n' apareció como un pequeño cuadrado en el botón al mostrar una sola línea de texto.

¿Alguien tiene alguna idea de por qué está sucediendo esto y cómo puedo solucionarlo?

ACTUALIZACIÓN: Acabo de enterarme de que estaba usando un botón personalizado que tiene su propio dibujo de texto. Esa es la razón. Perdón por la confusion. Me castigué golpeándome la cabeza.

+0

Tengo el mismo problema con un simple TextView – Borzh

Respuesta

73

Si usted está tratando de añadir una nueva línea en un archivo de diseño XML:

uso 
 (nueva línea)

android:text="Hi
Hello" 

Si está intentando agregar una nueva línea en el código, simplemente use '\ n', al igual que en cualquier otro texto.

Si no puede ver la segunda línea, es posible que su Botón no tenga la altura suficiente. IE, en mi caso, el diseño que contenía el botón tenía una altura fija que simplemente sucedía para que mi botón mostrara perfectamente una línea de texto.

+0

No funciona en VirtualBox x86, muestra 2 cuadrados. – Borzh

+0

use \ n en strings.xml – anshulkatta

21

he intentado y funcionó:

1) Definir en ../res/values/strings.xml:

<string name="multilines">Line1Line1\nLine2Line2</string> 

2) Consulte en el archivo de diseño:

<Button 
    android:id="@+id/btn_multilines" 
    android:text="@string/multilines" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"> 
</Button> 
+0

No funciona en VirtualBox x86, muestra 2 cuadrados. – Borzh

0

En caso de que quiera hacer eso programáticamente, puede usar System.getProperty("line.separator") en la cadena para cambiar las líneas. De esta manera:

String mybuttontext=line1+System.getProperty("line.separator")+line2; 

a continuación, establezca esta cadena como texto botones.

Cuestiones relacionadas