我正在尝试将2个listviews放入我的布局中。问题是我不知道每个listview的大小。第一个listview可能有几个项目(0,1,2到大约10个),第二个listview可能有很多项目(最多100个)。
我尝试将两个listviews的权重设置为1,但它不起作用:
=>如果第一个列表视图只有1个项目,第二个列表视图只有99个,则看不到列表视图的第一项#1 =>它缩小了很多(相对于listview#2)你没有看到它。
所以我现在想要将屏幕拆分为2个等于部分(无论是什么/无论每个列表视图的大小),并将两个列表视图放在每个部分中。当然它需要在任何设备上工作......那么如何捕获设备屏幕大小,将其分成两部分并强制列表视图大小适合屏幕的每一半?
有没有人这样做过?是否有另一种选择在同一布局上显示不同大小的两个列表视图(我应该以某种方式使用滚动视图?=>当用户到达第一个列表视图的末尾时,第二个列表视图出现=>是可能的??)
感谢您的帮助和任何建议......
休伯特
答案 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” - 我相信你会找到合适的尺寸