Android: EditText рядом с ImageView - EditText как можно шире - PullRequest
2 голосов
/ 16 февраля 2011

Я бы хотел, чтобы рядом стояли EditText и ImageView;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 берет всю ширину и покрываетизображение.

Как я могу добиться, чтобы EditText "заканчивался" перед ImageView?

Ответы [ 3 ]

5 голосов
/ 16 февраля 2011

Вы также можете использовать RelativeLayout для этого.Просто назначьте свойства

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

для EditText и

android:layout_alignParentRight="true"

для ImageView, сохраняя фиксированное значение ширины.

3 голосов
/ 16 февраля 2011
<?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>
0 голосов
/ 16 февраля 2011

Ну, я не рекомендую переходить к относительной раскладке ..

для кода (2-й) кажется хорошим, но я хотел бы добавить, что вы должны установить гравитацию android:gravity="center_vertical"

Это выравнивает компоненты и делает их хорошо выглядящими

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...