2

在这里我有EditTextImageButton

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/layout1"
    android:weightSum="1.0">

    <EditText
        android:id="@+id/searchBox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="@string/search"
        android:layout_weight=".86"
        android:textStyle="italic|normal"
        android:typeface="normal"
        android:singleLine="true"
        android:ellipsize="end" />

    <ImageButton
        android:layout_height="match_parent"
        android:layout_width="0px"
        android:layout_weight=".14"
        android:background="@drawable/search_button_selector"/>

</LinearLayout>

一切似乎都很好,除非我开始在EditText.

一开始它看起来像这样:

在此处输入图像描述

输入文字后,我ImageButton的变小了:

在此处输入图像描述

如何使EditText静止不动?

4

3 回答 3

4

我相信将 EditText 的 layout_width 更改为android:layout_width="0dp"将修复它。这将允许 LinearLayout 控制宽度以填充由您的权重指定的空间。

于 2012-11-26T19:25:11.097 回答
2

使用 aRelativeLayout并摆脱这些weight设置。只需将图像向右对齐并将 EditText 向左对齐并将图像视图的“leftOf”对齐:

<EditText
    android:id="@+id/searchBox"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="@string/search"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_toLeftOf="@+id/searchButton"
    android:textStyle="italic|normal"
    android:typeface="normal"
    android:singleLine="true"
    android:ellipsize="end" />

<ImageButton
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_alignParentRight="true"
    android:background="@drawable/search_button_selector"/>

此外,您应该设置ImageButton使用的图像android:src,而不是android:background. 将背景设置为透明色以摆脱默认按钮背景。

于 2012-11-26T19:30:48.867 回答
1
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:background="@android:drawable/ic_search_category_default" />

    <EditText
        android:id="@+id/searchBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/imageButton"
        android:ellipsize="end"
        android:hint="Search..."
        android:inputType="text"
        android:singleLine="true"
        android:textStyle="italic|normal"
        android:typeface="normal" />

</RelativeLayout>

在此处输入图像描述

于 2012-11-26T19:32:36.127 回答