programacion - manual android studio avanzado
Android y visualización de texto con múltiples líneas en una vista de texto en un TableRow (5)
Estoy mostrando un TableLayout con filas de la siguiente manera:
<?xml version="1.0" encoding="utf-8"?>
<TableRow
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/one"
android:layout_marginLeft="10dip"
android:textColor="#B0171F" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/one"
android:id="@+id/two"
android:layout_marginLeft="10dip"
android:ellipsize="none"
android:singleLine="false"
android:scrollHorizontally="false"
android:maxLines="10"
android:textColor="@android:color/black" />
</RelativeLayout>
</TableRow>
Estoy abordando esto con todo lo que puedo encontrar aquí y puedo pensar en permitir que el texto se ajuste a muchas líneas pero fue en vano: el texto siempre se fuerza a una sola línea, saliendo de la pantalla. Podría importar que esté trabajando dentro de un TableRow aquí, y hasta donde puedo decir que esto no se ha tratado en este sitio.
Entonces, ¿cómo fuerzo mi segundo TextView para ajustar a muchas líneas?
En aras de la integridad, así es como mi TableLayout
dice en XML:
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:shrinkColumns="0"
android:stretchColumns="0"
android:id="@+id/summaryTable">
</TableLayout>
Más tarde puebla esto con TableRow
s.
Por código también funciona:
TableLayout tablelayout = (TableLayout) view.findViewById(R.id.table);
tablelayout.setColumnShrinkable(1,true);
1 es el número de columna.
Tal vez intente lo siguiente:
myTextView.setText(Html.fromHtml("On " + stringData1 + "<br> at " + strinData2);
Lo sé, se parece un poco a una solución de "silla de ruedas", pero funciona para mí, aunque también llene un texto programáticamente.
También puede usar el código a continuación
<TableRow >
<TextView
android:id="@+id/tv_description_heading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:padding="8dp"
android:text="@string/rating_review"
android:textColor="@color/black"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="left"
android:maxLines="4"
android:padding="8dp"
android:text="The food test was very good."
android:textColor="@color/black"
android:textColorHint="@color/hint_text_color" />
</TableRow>
TextView ajustará el texto si la columna en la que se encuentra está configurada para contraerse. A veces no se ajusta exactamente, si el texto termina con ", ...", entonces es un poco más largo que exactamente n líneas.
Aquí hay un ejemplo, la vista de texto con la question
ID se ajustará:
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:shrinkColumns="*">
<TableRow>
<TextView
android:id="@+id/question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</TableRow>
</TableLayout>