如何在GridView旁边获取ListView

时间:2014-05-28 02:18:05

标签: android listview gridview layout

我有一个ListView我要显示在GridView的左侧。我使用以下xml代码来尝试实现此目的:

<?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"
android:orientation="vertical">

<ListView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/listView_items">
</ListView>
<GridView 
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:id="@+id/gridView_board"
    android:layout_toRightOf="@id/listView_items">
</GridView>

</RelativeLayout>

问题是,启动活动时只显示ListView。我意识到这很简单,但我很久没有编码,也无法使用谷歌找到有用的信息。

谢谢!

1 个答案:

答案 0 :(得分:1)

您在android:layout_width="match_parent"ListView使用了GridView,这就是为什么ListView占据父视图的所有宽度RelativeLayout的原因。

RelativeLayout更改为LinearLayout水平方向,然后将weightSum设置为2,然后GridViewListView将其权重设置为1和layout_width进入0dp。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:baselineAligned="false"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="2" >

<ListView
    android:id="@+id/listView_items"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1" >

</ListView>

<GridView
    android:id="@+id/gridView_board"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="1" >

</GridView>

</LinearLayout>