ImageButton(右对齐,固定宽度)和EditText(左对齐,剩余空间宽度)

时间:2013-04-29 09:13:56

标签: android android-layout right-align

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

<?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"中使用EditText,则ImageButton会消失。

你能帮帮我吗?

感谢!!!

3 个答案:

答案 0 :(得分:2)

如果您无法使用layout_weight,请使用RelativeLayout。在RelativeLayout首先放置ImageButton并将其对齐到RelativeLayout的右侧。然后将EditTextlayout_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>

答案 1 :(得分: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" />

答案 2 :(得分: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”,因此它会拉伸并占用剩余空间。

对于LinearLayout权重概念,

Check this