这是一个相当奇怪的问题,无论我多少次盯着它,我似乎都无法解决(所以它可能有一个明显的答案)。问题是,当我在布局RelativeLayout
doc中使用ActionBar
/ XML
时,下面的ListView
不希望在调试时显示在屏幕上。这是我的XML
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="50dip"
android:background="#4a8bcc" android:id="@+id/relLayout" >
<TextView
android:layout_width="wrap_content"
android:layout_centerVertical="true"
android:textSize="7pt"
android:textColor="#ffffff"
android:textStyle="bold"
android:layout_height="wrap_content"
android:text="List" android:padding="8dp" />
<!-- A dividing line -->
<ImageView
android:layout_width="1px"
android:src="#ffffffff"
android:layout_height="wrap_content"
android:text="@string/hello"
android:id="@+id/bordertwo"
android:layout_toLeftOf="@+id/refresh"
android:layout_marginRight="12dip"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true" />
<!-- share button -->
<ImageView
android:layout_width="25dip"
android:src="@drawable/ic_title_share_default"
android:layout_height="25dip"
android:text="@string/hello"
android:layout_marginRight="12dip"
android:layout_centerVertical="true"
android:id="@+id/refresh"
android:layout_toLeftOf="@+id/borderone"
android:scaleType="fitXY" />
<!-- A dividing line -->
<ImageView
android:layout_width="wrap_content"
android:src="#ffffffff"
android:layout_height="wrap_content"
android:id="@+id/borderone"
android:layout_alignParentTop="true"
android:layout_marginRight="12dip"
android:layout_alignParentBottom="true"
android:layout_alignBottom="@+id/search"
android:text="@string/hello"
android:layout_toLeftOf="@+id/search" />
<!-- Add friend -->
<ImageView
android:src="@drawable/ic_title_add_default"
android:text="@string/hello"
android:layout_width="25dip"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:id="@+id/search"
android:layout_marginRight="12dip"
android:layout_height="25dip"
android:scaleType="fitXY" />
</RelativeLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#4a8bcc" android:id="@+id/linLayout"
android:visibility="visible">
<ListView
android:id="@+id/ListView01"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:2)
android:orientation="vertical"
两个LinearLayout上的你真的不需要第二个,因为它只有一个孩子。但是如果你必须设置weight = 1。 ListView应如下所示(在删除LinearLayout之后)
<ListView
android:id="@+id/ListView01"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1.0"
/>
在此处阅读有关Layouts的更多信息 http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html
如果您仍希望使用布局包装列表,请按照此示例进行操作 http://developer.android.com/resources/samples/ApiDemos/res/layout/list_8.html
答案 1 :(得分:1)
为什么ListView
中有LinearLayout
?大小设置为wrap_content
?这没有多大意义。只需直接添加ListView
,然后设置layout_height="fill_parent"
即可。这应该会占用所有可用空间。