使用 PercentRelativeLayout 仅指定宽度(高度自动)

Using PercentRelativeLayout specifying only width (heigh auto)

是否可以使用 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"/>

如果我理解正确的话,您想指定宽度并将高度自动设置为 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 >