2010-10-19 143 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