我为layout
创建了一个列表项ListView
。ListView
项目有一个ImageView
我想要占据全高度匹配的父级但不使用全高度。我也希望图像垂直居中。我的列表项layout
是:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:padding="15.0dip" >
<LinearLayout
android:id="@+id/navigationParent"
android:layout_width="50.0dip"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:background="@color/blue" >
<ImageView
android:id="@+id/navigationItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:src="@drawable/navigation_item" />
</LinearLayout>
<TextView
android:id="@+id/nHeading"
style="@style/listItemHeadingText"
android:layout_toLeftOf="@id/navigationParent"/>
<TextView
android:id="@+id/nOverview"
style="@style/listItemOverviewText"
android:layout_below="@id/nHeading"
android:layout_toLeftOf="@id/navigationParent"/>
</RelativeLayout>
我得到的输出如下图所示:
答案 0 :(得分:0)
更改
<ImageView
android:id="@+id/navigationItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:src="@drawable/navigation_item" />
到
<ImageView
android:id="@+id/navigationItem"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:background="@drawable/navigation_item" />
但它可能会过度拉伸图像。尝试使用适当尺寸的图像
答案 1 :(得分:0)
<ImageView
android:id="@+id/navigationItem"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:scaleType="refer**"
android:layout_gravity="center_vertical"
android:gravity="center"
android:src="@drawable/navigation_item" />
答案 2 :(得分:0)
我更改了我的xml代码,现在它正在运行。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:padding="15.0dip" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/navigationItem"
android:orientation="vertical" >
<TextView
android:id="@+id/nHeading"
style="@style/listItemHeadingText" />
<TextView
android:id="@+id/nOverview"
style="@style/listItemOverviewText" />
</LinearLayout>
<ImageView
android:id="@+id/navigationItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:scaleType="center"
android:layout_centerVertical="true"
android:src="@drawable/navigation_item" />
</RelativeLayout>