将布局中的图像大小调整为最大宽度,而不将其他项目推出视图

时间:2016-09-10 02:57:18

标签: android android-layout listview

我正在尝试使用标题,中心图像和页脚在ListView中布局单元格。 单元格将是一个固定的高度,我希望图像按比例放大到可能的最大宽度,而不会将页脚推出视图。 这在XML布局中是否可行?

我已经用这个布局设置了一个简单的例子:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="100dp"
    >
    <TextView
        android:id="@+id/heading"
        android:textColor="#000000"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/placeholder"
        />
    <TextView
        android:textColor="#000000"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="footer"/>
</LinearLayout>

如上所述限制高度时,不会显示页脚:

No Footer

我理解&#34; match_parent&#34;可能不是我想要的ImageView宽度,但是如何配置图像的大小以便它只使用可用空间?

1 个答案:

答案 0 :(得分:0)

感谢@I_A_Mok这里是修改后的布局:

<?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="150dp"
>
<TextView
    android:id="@+id/heading"
    android:textColor="#000000"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"/>
<TextView
    android:id="@+id/footer"
    android:textColor="#000000"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="footer"
    android:layout_alignParentBottom="true"/>
<ImageView
    android:layout_weight=".8"
    android:adjustViewBounds="true"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:src="@drawable/placeholder"
    android:layout_below="@+id/heading"
    android:layout_above="@+id/footer"
    />

</RelativeLayout>