0

我试图在同一行中放置一个ImageButton(右对齐,固定宽度)和一个EditText(左对齐,占用所有剩余空间),但我不能。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:orientation="horizontal"
    xmlns:android="http://schemas.android.com/apk/res/android">
<EditText
    android:layout_gravity="center_vertical"
    android:layout_width="fill_parent"
    android:layout_height="40dp"
    android:text="EditText"
    android:textSize="18sp" />
<ImageButton
    android:layout_gravity="center_vertical"
    android:layout_width="40dp"
    android:layout_height="40dp" />
</LinearLayout>

我无法使用该属性"layout_weight",因为我想修复ImageButton. 如果我在 中使用"layout_width=fill_parent"EditTextImageButton消失。

你可以帮帮我吗?

谢谢!!!

4

3 回答 3

2

如果不能使用layout_weight,请使用RelativeLayout. 在第RelativeLayout一个放置ImageButton并对齐到RelativeLayout的右侧。然后把EditTextwithlayout_width="fill_parent"放在左边ImageButton

试试这个

<RelativeLayout 
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <ImageButton 
        android:layout_width="40dp" 
        android:layout_height="40dp"
        android:layout_alignParentRight="true"
        android:id="@+id/id_image_button"/>

    <EditText android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:layout_toLeftOf="@id/id_image_button"/>

</RelativeLayout>
于 2013-04-29T09:19:07.683 回答
0

您可以尝试以下方法吗?:

<EditText
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="EditText"
android:textSize="18sp"
android:layout_weight="1" />
于 2013-04-29T09:17:23.380 回答
0
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:orientation="horizontal" >
<EditText
    android:layout_gravity="center_vertical"
    android:layout_width="0dp"
    android:layout_weight="1"
    android:layout_height="40dp"
    android:text="EditText"
    android:textSize="18sp" />
<ImageButton
    android:layout_gravity="center_vertical"
    android:layout_width="40dp"
    android:layout_height="40dp" />
</LinearLayout>

只是我将 EditText fill_parent 的 layout_width 更改为 0dp 并设置 layout_weight="1",所以它会拉伸并占用剩余空间。

检查此线性布局权重概念。

于 2013-04-29T09:27:39.443 回答