que estoy tratando de conseguir una fila de texto que será algo así comodiseño de Android usando layout_weight, layout_width y anchoMax
foofoofoo - barbarbar
pero yo quiero que elipse foo y bar si ganó' t caben en una línea. , es decir, estoy tratando de acortarlos.
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/text_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:maxWidth="0dip"
android:layout_weight="1"
android:textColor="#ffffff"
android:singleLine="true"
android:ellipsize="true"
android:text="foofoofoofoo" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:text=" - " />
<TextView
android:id="@+id/text_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxWidth="0dip"
android:layout_weight="1"
android:textColor="#ffffff"
android:singleLine="true"
android:ellipsize="true"
android:text="barbarbarbar" />
</LinearLayout>
Ten en cuenta que esto funciona parcialmente.
fijando el TextView
's layout_width
sea 0dip
y layout_weight
para ser 1
significa que van a tomar hasta el 50% del espacio disponible cada uno.
Ajuste del singleLine
a true
y ellipsize
a true
significa que se verá como foofoo ... si el texto es más grande que el recipiente.
Por tanto, mi resultado (si el texto es más largo) debe ser
foofoo .. - .. barbar
Cuál es! Entonces esto funciona
Ahora el caso que estoy tratando de arreglar es, si el primer TextView
(id: text_1) tiene texto que es menor que el 50% determinado por layout_width="0dip"
y layout_weight="1"
quiero que wrap_content
. De lo contrario, se parece a:
fooespacio en blanco- barbar ..
y quiero
foo - barbarbar
Es por eso que he cambiado layout_width="wrap_content"
y he añadido android:maxWidth="0dip"
pero esto no funciona. Parece que me está ignorando diciendo wrap_content
y sigue dando esta vista al 50%.
He leído que necesita agregar android:adjustViewBounds="true"
para maxWidth
para que funcione, pero esto no tuvo ningún efecto.
Eliminar el android: stretchColumns = " 0,2 ", y funciona. ¡Hasta ahora de todos modos! :-) Gracias – Blundell
@Blundell wow, ¡soy un cazarrecompensas! me alegro de que funcionó y gracias por el premio. – bigstones
Ayúdanos a los dos. Soy un benefactor :-D – Blundell