2

是否可以使用 PercentRelativeLayout 仅指定所需的宽度尺寸并获得自动高度?

我的意思是这样做:

<android.support.percent.PercentRelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
    android:id="@+id/earthImageView"
    app:layout_widthPercent="30%"
    android:src="@drawable/earth"
    android:layout_alignParentRight="true"
    android:adjustViewBounds="true"/>
</android.support.percent.PercentRelativeLayout >

视图具有正确的宽度,但如果我检查布局边界,我可以看到高度是 MATCH_PARENT。这意味着帽子 android:adjustViewBounds="true" 不起作用。

我尝试添加 app:layout_widthPercent="WRAP_CONTENT" 但没有效果。

谢谢你。

编辑:

在做相反的情况时也有问题:

<ImageView
        android:id="@+id/earthImageView"
        android:layout_width="wrap_content"
        android:layout_height="0dp"
        app:layout_heightPercent="20%"
        android:src="@drawable/earth"
        android:adjustViewBounds="true"/>
4

1 回答 1

1

如果我理解正确,您想指定宽度并将高度自动设置为 adjustViewBounds 给您的任何值。

如果是这种情况,以下应该做你想做的(我已经将布局和 imageView 高度都设置为 wrap_content):

<android.support.percent.PercentRelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/earthImageView"
        android:layout_height="wrap_content"
        app:layout_widthPercent="30%"
        android:src="@drawable/lapin"
        android:layout_alignParentRight="true"
        android:adjustViewBounds="true"/>
</android.support.percent.PercentRelativeLayout >
于 2017-02-13T19:27:17.047 回答