我试图在同一行中放置ImageButton
(右对齐,固定宽度)和EditText
(左对齐,占用所有剩余空间),但我可以“T
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:orientation="horizontal"
xmlns:android="http://schemas.android.com/apk/res/android">
<EditText
android:layout_gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:text="EditText"
android:textSize="18sp" />
<ImageButton
android:layout_gravity="center_vertical"
android:layout_width="40dp"
android:layout_height="40dp" />
</LinearLayout>
我无法使用属性"layout_weight"
,因为我想修复ImageButton
的宽度。如果我在"layout_width=fill_parent"
中使用EditText
,则ImageButton
会消失。
你能帮帮我吗?
感谢!!!
答案 0 :(得分:2)
如果您无法使用layout_weight
,请使用RelativeLayout
。在RelativeLayout
首先放置ImageButton
并将其对齐到RelativeLayout的右侧。然后将EditText
与layout_width="fill_parent"
放在ImageButton
试试这个
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageButton
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:id="@+id/id_image_button"/>
<EditText android:layout_width="fill_parent"
android:layout_height="40dp"
android:layout_toLeftOf="@id/id_image_button"/>
</RelativeLayout>
答案 1 :(得分:0)
您可以尝试以下方法吗?:
<EditText
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="EditText"
android:textSize="18sp"
android:layout_weight="1" />
答案 2 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="50dp"
android:orientation="horizontal" >
<EditText
android:layout_gravity="center_vertical"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="40dp"
android:text="EditText"
android:textSize="18sp" />
<ImageButton
android:layout_gravity="center_vertical"
android:layout_width="40dp"
android:layout_height="40dp" />
</LinearLayout>
我只是将EditText fill_parent的layout_width更改为0dp并设置layout_weight =“1”,因此它会拉伸并占用剩余空间。
对于LinearLayout权重概念,