2011-04-01 20 views
5

Tengo un TextView dentro de un TableRow. El texto contenido en este TextView es típicamente más grande que la pantalla. Como tal, me gustaría que el texto se envuelva en varias líneas.Android TextView y texto que envuelve

TableLayout table = (TableLayout)findViewById(R.id.myTable); 
TableRow row = new Tablerow(context); 
TextView view = new TextView(context); 
view.setText(stringWithLotsOfCharacters); 
view.setSingleLine(false); 
row.add(view); 
table.addview(row, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); 

He intentado usar "setSingleLine" pero no tiene el efecto que estaba buscando.

¿Alguna sugerencia? Gracias.

Respuesta

1
view.setHeight(LayoutParams.WRAP_CONTENT); 
+0

Gracias pero no funcionó. El texto ya no aparece. Acabo de editar la primera publicación con más de mi código. – MyNameIsZero

+0

¿Cuáles son los 'LayoutParams' de' myTable'? –

+0

android: layout_width = "wrap_content" android: layout_height = "wrap_content" – MyNameIsZero

5

Añadir android:shrinkColumns="1" de la columna que desee para envolver a la TableLayout en su diseño o android:shrinkColumns="*" si quieres para envolver todas las columnas.

También puede hacerlo mediante programación con setColumnShrinkable:

public void setColumnShrinkable (int columnIndex, boolean isShrinkable)