ImageView没有全高度可用吗?

时间:2014-01-20 09:06:40

标签: android android-layout android-listview

我为layout创建了一个列表项ListViewListView项目有一个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>

我得到的输出如下图所示:

enter image description here

3 个答案:

答案 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" />

** ImageView.ScaleType

答案 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>