2010-10-19 142 views
15

我试图将2个listviews放入我的布局中。问题是我不知道每个列表视图的大小。第一个列表视图可以有几个项目(0,1,2至10),第二个列表视图可以有很多项目(最多100个)。ANDROID:将屏幕拆分为2等于2的部分视图

我试图同时设置列表视图的权重为1,但它没有工作:

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

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

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

谢谢您的帮助,任何建议...

休伯特

+0

我的意思是“分裂屏幕2等于部分”是一半在顶部和一半在底部,而不是左/右。 (这对我来说不是一个有效的选项,因为我必须展示的项目已经定义) – Hubert 2010-10-19 12:16:50

+0

我不知道如何实现,因为活动中的listview必须有一个id android:id/list,因为它是一个标识符,在同一个活动中不能有两个类似的标识符。比我更聪明的一个人将能够实现这一点。 – viv 2010-10-20 08:30:59

+0

我得到它的工作 - 在相同的活动(不是一个ListActivity,但一个“正常”活动)= 2收视率=>看看道琼斯PRO =>屏幕“新52周高/低”... – Hubert 2010-10-21 07:11:25

回答

-4

尝试设置软像素的大小(设备无关的) - 像“50SP”或“100SP” - 我当然你会找到合适的一个

+3

这答案是远离正确的轨道...如何使用sp帮助所有屏幕尺寸?事实上,你无法真正找到合适的单元将屏幕分成一半,使用这个... – 2012-04-17 19:20:11

20

我只是“封装”我的2个listviews到2个单独的linearlayouts =>这2个linearlayout具有重量的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> 
+0

如果你想看到这个动作,这个应用程序称为DOW JONES for Android,或者NASDAQ 100 for Android。 ..选择按钮“52周高/低”看到这个分屏!欢呼声,H。 – Hubert 2010-10-20 08:18:46

+0

对于任何其他人磕磕绊绊,Eclipse的ADT插件(v15)似乎没有正确处理这个问题,但它在真正的手机(以及我假设的模拟器)上运行时工作正常。 – 2011-11-28 23:16:32

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> 

创建一个父线性布局,定义一个weightsum和拆分成两个不同的相对布局的每个重量的等于总weightsum的一半,因为在相对布局的东西很容易管理和我希望这适用于你

+0

但我想垂直方向我该怎么办? @Muhammad Zeshan – Banku 2014-03-25 05:43:38

+1

你的意思是垂直方向。你能解释一下吗? – 2014-03-26 06:48:21

+0

thnkx我做到了...... :) – Banku 2014-03-26 07:44:53