Android:ImageView旁边的EditText - EditText尽可能宽

时间:2011-02-16 13:06:14

标签: android android-layout

我希望彼此相邻EditTextImageView; ImageView有一个固定的宽度,EditText应该接受其余的。

我试图通过

来做
            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="horizontal" android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:orientation="vertical" android:layout_width="fill_parent"
                android:layout_height="wrap_content">
                <EditText android:id="@+id/edit_select_stop" android:layout_width="fill_parent" android:layout_height="wrap_content" />
            </LinearLayout>
            <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:orientation="vertical" android:layout_width="fill_parent"
                android:layout_height="wrap_content">
                <ImageView android:layout_gravity="center_vertical"
                    android:layout_width="39dp" android:minWidth="39dp"
                    android:layout_height="wrap_content" android:src="@drawable/icon_time"
                    android:id="@+id/image_select_time"></ImageView>
            </LinearLayout>
        </LinearLayout>

但是现在,EditText占据了整个宽度并覆盖了Image。

如何在ImageView之前实现EditText“结束”?

3 个答案:

答案 0 :(得分:5)

您也可以使用RelativeLayout来完成它。只需指定属性

即可
 android:layout_toLeftOf="@+id/id_of_your_imageview" 
 android:layout_width="fill_parent"

EditText

android:layout_alignParentRight="true"

ImageView,同时保持宽度的固定值。

答案 1 :(得分:3)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget32"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<EditText
android:id="@+id/edit_select_stop"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
>
</EditText>
<ImageView
android:id="@+id/image_select_time"
android:layout_width="39dp"
android:layout_height="wrap_content"
android:layout_weight="1"
>
</ImageView>
</LinearLayout>

答案 2 :(得分:0)

好吧,我不建议去相对布局..

代码(第二个)似乎很好,但我想补充一点,你应该设置引力android:gravity="center_vertical"

这使组件对齐并确保它看起来不错