LinearLayout排队

时间:2011-05-10 21:50:47

标签: android layout android-linearlayout

我有一个EditText,我想在它的左边有一个ImageButton。我希望我的EditText的宽度为fill_parent,除了为ImageButton留出空间。现在EditText没有离开任何房间。我将它们嵌套在LinearLayout中。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <LinearLayout 
        android:layout_height="wrap_content" 
        android:id="@+id/linearLayout1" 
        android:layout_width="fill_parent" 
        android:orientation="horizontal" 
        >
        <EditText 
            android:id="@+id/editText1" 
            android:layout_marginLeft="10dp" 
            android:layout_height="wrap_content" 
            android:layout_marginRight="10dp" 
            android:layout_width="fill_parent"
        />
        <ImageButton 
            android:id="@+id/imageButton1" 
            android:layout_height="wrap_content" 
            android:src="@drawable/icon" 
            android:layout_width="wrap_content"
        />
    </LinearLayout>

...

</LinearLayout>

2 个答案:

答案 0 :(得分:1)

更改android:layout_width="0dp"并将android:layout_weight="1"添加到您的EditText。

答案 1 :(得分:1)

可以非常轻松地使用RelativeLayout来实现这一目标:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
    <EditText 
        android:id="@+id/editText1" 
        android:layout_marginLeft="10dp" 
        android:layout_height="wrap_content" 
        android:layout_marginRight="10dp" 
        android:layout_width="fill_parent"
    />

    <ImageButton 
        android:layout_toRightOf="@+id/editText1"
        android:id="@+id/imageButton1" 
        android:layout_height="wrap_content" 
        android:src="@drawable/icon" 
        android:layout_width="wrap_content"
    />

</RelativeLayout>

比将布局嵌入布局更清晰。