1

我有一张我想显示的图像,上面有文字,下面有一行。我希望图像使用所提供空间的宽度,然后高度刚好足以不浪费空间。当前的 XML 设置是:

<LinearLayout 
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:textStyle="normal"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:text="" />
     <ImageView 
        android:id="@+id/photoStatic"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding ="5dp"
        android:layout_gravity="center"
        android:layout_weight="0"/>
    <View
        android:layout_marginTop="8dp"
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/grey" />

</LinearLayout>

这是它最终的样子:

在此处输入图像描述

我想消除图像下方和上方的空白空间,因此它可以完美地调整图像大小。我试过修改android:layout_heightand android:layout_width没有太大的成功。

4

2 回答 2

1

属性android:adjustViewBounds="true"应该做的事情。试试这个:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

    <TextView
        android:id="@+id/name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:text="spam spam spam"
        android:textSize="18sp"
        android:textStyle="normal" />

    <ImageView
        android:id="@+id/photoStatic"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true" />

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_marginTop="8dp"
        android:background="@color/grey" />

</LinearLayout>
于 2017-08-04T23:06:55.210 回答
0

只需删除 layout_weight。我认为就足够了,并且还使用 Space 而不是 View (android.support.v4.widget.Space)。还在使用 fill_parent?同名是 match_parent。fill_parent 不再使用。

于 2017-08-04T22:55:34.193 回答