ANDROID:将屏幕拆分为2等于具有2个列表视图的部分

时间:2010-10-19 12:14:45

标签: android listview android-layout

我正在尝试将2个listviews放入我的布局中。问题是我不知道每个listview的大小。第一个listview可能有几个项目(0,1,2到大约10个),第二个listview可能有很多项目(最多100个)。

我尝试将两个listviews的权重设置为1,但它不起作用:

=>如果第一个列表视图只有1个项目,第二个列表视图只有99个,则看不到列表视图的第一项#1 =>它缩小了很多(相对于listview#2)你没有看到它。

所以我现在想要将屏幕拆分为2个等于部分(无论是什么/无论每个列表视图的大小),并将两个列表视图放在每个部分中。当然它需要在任何设备上工作......那么如何捕获设备屏幕大小,将其分成两部分并强制列表视图大小适合屏幕的每一半?

有没有人这样做过?是否有另一种选择在同一布局上显示不同大小的两个列表视图(我应该以某种方式使用滚动视图?=>当用户到达第一个列表视图的末尾时,第二个列表视图出现=>是可能的??)

感谢您的帮助和任何建议......

休伯特

3 个答案:

答案 0 :(得分:20)

我只需将我的2个列表视图“封装”为2个独立的linearlayouts =>这2个线性布局的权重为1:

    <LinearLayout android:layout_weight="1" 
                    android:layout_height="fill_parent" 
                    android:layout_width="fill_parent">

                <ListView   android:id="@+id/ListView_NASDAQ100" 
                            android:layout_height="fill_parent" 
                            android:layout_width="fill_parent">

                </ListView>
    </LinearLayout>

<LinearLayout android:layout_weight="1" 
                android:layout_height="fill_parent" 
                android:layout_width="fill_parent">

            <ListView   android:id="@+id/ListView_from_52w_HIGHLOW" 
                        android:layout_height="fill_parent" 
                        android:layout_width="fill_parent">

            </ListView>
</LinearLayout>

答案 1 :(得分:3)

<LinearLayout
        android:id="@+id/ListView_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:weightSum="1" >

        <RelativeLayout
            android:id="@+id/rl_ListView1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.5" >

            <ListView
                android:id="@+id/lv1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >
                </ListView>
        </RelativeLayout>

        <RelativeLayout
            android:id="@+id/rl_ListView2"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="0.5" >

            <ListView
                android:id="@+id/lv2"
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >
            </ListView>

        </RelativeLayout>
    </LinearLayout>

创建父线性布局,定义权重并将其拆分为两个不同的相对布局,每个布局的权重等于总权重的一半,因为在相对布局中,事情可以轻松妥善地管理。我希望这对您有用

答案 2 :(得分:-4)

尝试设置软像素尺寸(与设备无关) - 例如“50sp”或“100sp” - 我相信你会找到合适的尺寸