我有一个带有几个孩子的简单LinearLayout。整个活动设计基本上是从Google BluetoothChat示例中复制而来的。 LinearLayout包含2个ListView,用于显示可以找到的配对蓝牙设备和蓝牙设备(如果它们可以被发现)。
问题:如果配对设备太多,第一个ListView会占用整个屏幕,因此ScanButton不再可见。因为我正在使用android:weight,所以ScanButton总是没有足够的空间。
这里是xml代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/title_paired_devices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#666"
android:paddingLeft="5dp"
android:text="@string/deviceList_title_paired_devices"
android:textColor="#fff"
android:visibility="gone"
/>
<ListView
android:id="@+id/paired_devices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:stackFromBottom="true"
/>
<TextView
android:id="@+id/title_new_devices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#666"
android:paddingLeft="5dp"
android:text="@string/deviceList_title_other_devices"
android:textColor="#fff"
android:visibility="gone"
/>
<ListView
android:id="@+id/new_devices"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="2"
android:stackFromBottom="true"
/>
<Button
android:id="@+id/button_scan"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Scan"
/>
</LinearLayout>
答案 0 :(得分:0)
您应该将layout_weight
分配给所有视图,而不仅仅是ListView
。
答案 1 :(得分:0)
不要使用:
android:layout_height="wrap_content"
因为这将导致列表视图增长以适合所有内容。
答案 2 :(得分:0)
将0dp作为列表视图和权重1的高度:
android:layout_height="0dp"
android:layout_weight="1"