Estoy creando un elemento de lista personalizado en la vista de lista android. es muy simple, tiene una vista de texto a la izquierda y una imagen a la derecha. la imagen debe alinearse completamente hacia la derecha, y la vista de texto debe ocupar todo el espacio de la izquierda. El problema es que puedo hacer que la imagen se muestre, pero empuja hacia la izquierda. si configuro el ancho de la vista de texto para fill_parent, la imagen desaparece. aquí está mi diseño:Artículo de lista de Android: TextView a la izquierda, Imagen a la derecha
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_height="50px" android:layout_gravity="center_vertical">
<!-- item -->
<TextView android:id="@+id/txtItem" android:gravity="center_vertical" android:textSize="20px" android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<!-- disclosure image -->
<ImageView android:layout_gravity="right|center_vertical" android:src="@drawable/common_icon_arrow_disclosure"
android:layout_width="wrap_content" android:layout_height="wrap_content"/>
</LinearLayout>
también he intentado un diseño relativo, pero pasa lo mismo. ¿Qué estoy haciendo mal?
EDIT: una aclaración, esto es lo que estoy tratando de lograr:
Quiero que el campo de texto para ocupar toda la zona izquierda, y la imagen que se va a el derecho, sin escalar, centrado verticalmente.
Eso tampoco funciona. la imagen de la flecha aparece, pero el texto no. Además, la flecha (que es menos alta que el elemento) no está centrada verticalmente, sino que está alineada en la parte superior. en realidad tenía algo muy similar, pero tenía el imageView con layout_toRightOf de la imagen de texto, pero eso hacía exactamente lo contrario de tu ejemplo, el texto aparecía, pero no la flecha. –
Disculpe que no tengo tiempo para escribir un caso de prueba, pero otra cosa que podría intentar es * layout_alignParentLeft * en lugar de * layout_gravity *. Sé que hice exactamente lo que está pidiendo, pero no puedo encontrarlo en mis proyectos y sé que usó RelativeLayout. Buena suerte y volveré a revisar mañana si puedo. –
utilicé layout_alignParentRight = "true" en el imageView (cambié la vista de la imagen y la vista de texto, ya que la vista de la imagen está a la derecha, realmente debería declararse en segundo lugar). el problema es doble; puedo ver tanto la vista de texto como la de img para mostrar, pero 1) la vista de la imagen no está centrada verticalmente, como mencioné, la imagen es en realidad más pequeña que la altura de la fila, y 2) la vista de la imagen no está alineada con la bien, en cambio, sigue justo después del final del texto. si cambio la vista de texto para tener un layout_width = "fill_parent", la vista de la imagen desaparece de nuevo. :( –