我有一个水平布局,其中包含两个视图:一个EditText
,它将显示一个选定的路径,一个"浏览" Button
的右侧EditText
。
我希望EditText
根据需要进行扩展,但不要将Button
推离屏幕。
这是我当前的xml:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/path_view">
<EditText android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/folder_edittext"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:hint="Folder"/>
<Button android:layout_height="wrap_content"
android:layout_width="60dp"
android:id="@+id/browse_button"
android:text="..."
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"/>
</LinearLayout>
我尝试了所有类型的布局,我尝试过使用toLeftOf
,toRightOf
以及我能想到的一切,我想我现在需要帮助才能实现这一点。
答案 0 :(得分:1)
您可以使用layout weights:
实现此目的<LinearLayout
android:layout_width="match_content"
android:layout_height="wrap_content"
android:id="@+id/path_view">
<EditText android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
android:id="@+id/folder_edittext"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:hint="Folder"/>
<Button android:layout_height="wrap_content"
android:layout_width="60dp"
android:id="@+id/browse_button"
android:text="..."
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"/>
</LinearLayout>
这个xml可以解释为:&#34;让EditText
占用未被其他视图填充的所有水平房间&#34; (在这种情况下,唯一的其他视图是Button
)。
答案 1 :(得分:0)
尝试RelativeLayout
:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/path_view">
<EditText android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/folder_edittext"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:hint="Folder"
android:layout_toLeftOf="@+id/browse_button"
android:layout_alignParentLeft="true" />
<Button android:layout_height="wrap_content"
android:layout_width="60dp"
android:id="@+id/browse_button"
android:text="..."
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:layout_alignParentRight="true" />
</RelativeLayout>