我正在尝试为每行创建一个包含文本和图像的列表视图。 图像应该在右边,文本应该是行的其余部分。文本应该以verticaly为中心。 除了中心部分,我可以做到这一切。 这是我尝试多次失败后的情况:
<?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>
无论文本总是显示在行的顶部。 我已经看到一些报道说这可能是因为xml在手动完成时的膨胀方式。但我不这样做。我把它留给了框架。
答案 0 :(得分:9)
我使用的RelativeLayout
包含TextView
和ImageView
。
对于我都使用android:layout_centerVertical="true"
属性。对我来说很好。
答案 1 :(得分:2)
将其添加到textview
android:gravity="center_vertical"
或
android:gravity="center"
答案 2 :(得分:1)
User RelativeLayout而不是LinearLayout为TextView设置fill_parent,为ImageView设置wrap_content。