我需要使用两个表单小部件(例如 - 两个按钮)创建一个简单的布局。第一个必须填充父布局的所有可用宽度,第二个必须具有一些固定大小。
这就是我需要的:
如果我将 FILL_PARENT 设置为第一个小部件 - 我看不到第二个。它只是从布局的视图区域吹走:) 我不知道如何解决这个问题......
最简单的方法是使用layout_weight
with LinearLayout
。注意第一个 TextView 的宽度是"0dp"
,这意味着“忽略我并使用权重”。权重可以是任意数字;因为它是唯一的加权视图,它会扩展以填充可用空间。
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<TextView
android:layout_width="25dp"
android:layout_height="wrap_content"
/>
</LinearLayout>
您可以使用 RelativeLayout 或 FrameLayout 来实现。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"
android:background="#ccccee"
android:text="A label. I need to fill all available width." />
<TextView
android:layout_width="20dp"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:paddingRight="5dp"
android:background="#aaddee"
android:text=">>" />
</RelativeLayout>