Android: EditText рядом с ImageView – EditText как можно шире

Я хотел бы иметь 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?

 <?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> 

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

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

В EditText и

 android:layout_alignParentRight="true" 

К вашему ImageView , сохраняя фиксированное значение ширины.

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

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

Это выравнивает компоненты и делает их надежными

Intereting Posts