2

Hey guys i have an xml in my activity here's my codes:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/listview_corners" >
    </ListView>

    <ListView
        android:id="@+id/list2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="gone" >
    </ListView>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Prices from:" />

    <ImageView
        android:id="@+id/ivprivatecell"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:src="@drawable/privatecell" />

</LinearLayout>

However, once the listview are loaded i cant see the textview and the imageview at all! what to do ? only the listview's are visible! thanks

4

4 回答 4

3

将 1添加layout_weight到每个 ListViews:

<ListView
    android:id="@+id/list"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/listview_corners" 
    android:layout_weight="1">
</ListView>

<ListView
    android:id="@+id/list2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:visibility="gone" >
</ListView>
于 2013-07-29T14:28:45.213 回答
2

ListViews 是贪婪的。他们会假设他们需要整个屏幕的高度。如果你想在它们下面显示东西,你需要使用固定高度或RelativeLayout,通过layout_alignParentBottom 将项目固定在屏幕底部,并且通过layout_above 强制在它们上方布局的列表

于 2013-07-29T14:30:07.610 回答
1

我不知道这是否适合您,但我会更改父布局,RelativeLayout然后将其附加ImageView到底部并将其放在TextView上面并将两个ListViews放在使用RelativeLayout属性的上面。

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/listview_corners"
        android:layout_above="@id/list2" >
    </ListView>

    <ListView
        android:id="@+id/list2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="gone"
        android:layout_above="@id/textView1" >
    </ListView>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Prices from:"
        android:layout_above="@id/ivprivatecell />

    <ImageView
        android:id="@+id/ivprivatecell"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_alignParentBottom="true"
        android:src="@drawable/privatecell" />

</RelativeLayout>

相对布局

于 2013-07-29T14:36:40.867 回答
0

更好的是,为包含列表视图的布局添加权重,并为 textview 和 imageview 添加权重,确保权重小于 1 并且它们的总和为 1。最后,将高度设置为 0dp。有了这个,您可以设置您希望每个视图在每个屏幕尺寸上采用的屏幕百分比

于 2013-07-29T14:32:43.913 回答