Android LinearLayout水平或垂直方向的项目填充剩余空间

Dem*_*mir 0 android android-layout

我想知道是否有可能在LinearLayout中有两个项目,一个包装其内容,另一个填充剩余的水平空间.我通过指定在WPF(.NET)中经常这样做

HorizontalAlignment="Stretch".
Run Code Online (Sandbox Code Playgroud)

例如:

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="24dp"
    android:background="#0000FF"/>

<ImageView
    android:layout_width="match_parent"
    android:layout_height="24dp"
    android:background="#FF0000"/>
Run Code Online (Sandbox Code Playgroud)

当我这样做时,第二个ImageView填充整个水平空间,如我所料.我试图同时设置WRAP_CONTENT和利用重力等android:gravity="start"android:gravity="fill_horizontal"对第二个它没有工作.

注意:我可以通过指定权重属性来实现类似的功能.但这是根据百分比值提供分工.这不是我想要的.

Anu*_*Anu 5

您可以使用weight属性本身来完成此操作.请尝试以下方法

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="24dp"
    android:background="#0000FF"/>

<ImageView
    android:layout_width="0dp"
    android:layout_height="24dp"
    android:layout_weight="1"
    android:background="#FF0000"/>
Run Code Online (Sandbox Code Playgroud)

将此包含在水平线性布局中