如何允许视图扩展而不将其他视图移出屏幕

时间:2015-03-14 15:36:22

标签: android

我有一个水平布局,其中包含两个视图:一个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> 

我尝试了所有类型的布局,我尝试过使用toLeftOftoRightOf以及我能想到的一切,我想我现在需要帮助才能实现这一点。

2 个答案:

答案 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>