2012-02-21 7 views
6

Estoy tratando de hacer una vista de lista con un texto y una imagen para cada fila. La imagen debe estar a la derecha y el texto debe ocupar el resto de la fila. El texto debe estar centrado verticalmente. Puedo hacer todo esto excepto la parte centrada. Esto es lo que tengo después de muchos intentos fallidos:Centrar verticalmente un texto en una fila de vista de lista

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    android:id="@+id/widget71" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:gravity="center_vertical"> 
<TextView 
    android:id="@android:id/text1" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" 
    android:layout_marginTop="6px" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:text="@+id/text1" 
    android:layout_weight="01" 
    android:layout_gravity="center_vertical|fill_vertical|center_horizontal|center|clip_vertical"/> 
<ImageView 
    android:id="@android:id/icon" 
    android:layout_width="30px" 
    android:layout_height="40px" 
    android:layout_marginTop="8px" 
    android:layout_marginLeft="4px" 
    android:layout_marginRight="8px" 
    android:src="@drawable/delete" 
    android:layout_gravity="right" /> 
</LinearLayout> 

No importa lo que el texto se muestra Allways en la parte superior de la fila. Ya he visto algunos informes de que esto puede suceder debido a la forma en que el xml se infla cuando se hace manualmente. Pero yo no hago eso. Lo dejo al marco.

Respuesta

9

utilizo un RelativeLayout que contiene una TextView y un ImageView.

Para ambos utilizo el atributo android:layout_centerVertical="true". Funciona bien para mí

+0

Por fin funcionó !! Tu respuesta fue. Aunque también utilicé la respuesta de piotrpo (¿es posible aceptar ambas?). – Nahoot

1

User RelativeLayout instead LinearLayout Establece fill_parent para TextView y wrap_content para ImageView.

2

añadir esto a Textview

android:gravity="center_vertical" 

o

android:gravity="center" 
Cuestiones relacionadas