我想知道是否有可能在LinearLayout中有两个项目,一个包装其内容,另一个填充剩余的水平空间。我通过指定
在WPF(.NET)中经常这样做HorizontalAlignment="Stretch".
例如:
<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"/>
当我这样做时,第二个ImageView
填充整个水平空间,正如我预期的那样。我尝试设置wrap_content并使用android:gravity="start"
和android:gravity="fill_horizontal"
之类的重力作为第二个没有用的重力。
注意:我可以通过指定权重属性来实现类似的功能。但这是根据百分比值提供分工。这不是我想要的。
答案 0 :(得分:5)
您可以使用权重属性本身来执行此操作。请尝试以下方法
<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"/>
将此包含在水平线性布局中
答案 1 :(得分:0)
您需要使用相对布局。您还需要为第一个图像视图指定宽度,否则它应该包含图像,否则,imageview如何包装内容。
您可以使用以下内容:
<?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="match_parent" >
<ImageView
android:layout_alignParentLeft="true"
android:id="@+id/imgFirst"
android:layout_width="50dp"
android:layout_height="24dp"
android:background="#0000FF" />
<ImageView
android:layout_width="match_parent"
android:layout_height="24dp"
android:layout_alignParentRight="@+id/imgFirst"
android:layout_toRightOf="@+id/imgFirst"
android:background="#FF0000" />
</RelativeLayout>