I'm trying to make a listview with a text and an image for each row. The image should be on the right and the text should ocupy the rest of the row. The text should be verticaly centered. I can do all this except the centered part. This is what I have after many failed attempts:
<?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 matter what the text is allways shown on top of the row. I've already seen some reports that this may happen because of the way the xml is inflated when it's done manually. But I don't do that. I leave it to the framework.
I use a RelativeLayout
that contains a TextView
and an ImageView
.
For both I use the android:layout_centerVertical="true"
attribute. Works fine for me.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With