我希望彼此相邻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占据了整个宽度并覆盖了Image。
如何在ImageView之前实现EditText“结束”?
答案 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"
这使组件对齐并确保它看起来不错