que estoy tratando de hacer una vista de lista que se parece a esto: alt text http://pici.se/pictures/hjFksZvLx.jpgAlineación a la derecha y a la izquierda con diseño lineal o relativo con texto truncado?
Tiene dos partes, la izquierda está alineado a la izquierda y contiene dos textviews que son sola línea y truncada. La parte de la derecha también tiene dos textviews, pero están alineadas a la derecha y tienen un tamaño constante. El problema principal es que la parte derecha no se alinea a la derecha. Si utilizo un ancho estático para empujarlo hacia el lado derecho, funciona bastante bien, pero luego no se ve bien en el modo horizontal.
Pensé que debería ser simple de lograr. Pero no fue así.
Primero probé con LinearLayout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:orientation="vertical"
android:id="@+id/L1"
android:layout_height="fill_parent"
android:layout_weight="0.8"
android:layout_width="0dip">
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="1"
android:ellipsize="end"
android:scrollHorizontally="true"
android:text="Long text Long text Long text Long text Long text Long text Long text" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="1"
android:ellipsize="end"
android:scrollHorizontally="true"
android:text="Short text" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:id="@+id/L2"
android:layout_gravity="top|right"
android:layout_height="fill_parent"
android:layout_weight="0.2"
android:layout_width="0dip">
<TextView
android:id="@+id/text4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="12:12" />
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="64%"
android:layout_gravity="right" />
</LinearLayout>
</LinearLayout>
He estado jugando con la propiedad de peso, pero no parece ayudar. La parte derecha no se alinea con la derecha en absoluto.
Y luego tratado con RelativeLayout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="fill_parent">
<TextView
android:id="@+id/text1"
android:layout_height="wrap_content"
android:lines="1"
android:scrollHorizontally="true"
android:layout_alignParentTop="true"
android:text="Long text Long text Long text Long text Long text Long text Long text"
android:layout_alignParentLeft="true"
android:ellipsize="end"
android:layout_width="275dp" />
<TextView
android:id="@+id/text2"
android:layout_height="wrap_content"
android:lines="1"
android:ellipsize="end"
android:scrollHorizontally="true"
android:text="Long text Long text Long text Long text Long text Long text Long text"
android:layout_below="@+id/text1"
android:layout_alignParentLeft="true"
android:layout_width="275dp" />
<TextView
android:id="@+id/text3"
android:layout_height="wrap_content"
android:text="12:12"
android:layout_gravity="right"
android:layout_alignParentRight="true"
android:layout_alignBaseline="@+id/text1"
android:layout_width="40dp"
android:layout_alignRight="@+id/text4" />
<TextView
android:id="@+id/text4"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="64%"
android:layout_alignParentRight="true"
android:layout_alignBaseline="@+id/text2"
android:layout_width="40dp" />
</RelativeLayout>
mismo problema en este caso, la parte derecha no se está alineando con el derecho correctamente, y tengo que utilizar un tamaño estático de android: layout_width para empujarlo a el otro lado. Y si no usa un tamaño estático, el texto comenzará a cortarse entre sí.
Gracias ... Esperaba evitar un Linearlayout adicional, pero esa era la única forma de hacerlo funcionar. – droidgren
¿Cuál es el sentido de ajustar LinearLayout en RelativeLayout? ¿LinearLayout ahora es el único hijo de RelativeLayout y el padre probablemente puede ser eliminado? –
@GlennBech: hay más widgets dentro de 'RelativeLayout', no solo' LinearLayout'. – Macarse