2011-11-29 114 views
3
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    style="@style/bag" 
    android:layout_height="fill_parent" android:layout_width="fill_parent" 
    android:orientation="vertical" > 

<RelativeLayout 
     android:id="@+id/relativeLayout2" 
      style="@style/relbag" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 

     <TextView style="@style/CodeFont" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_marginLeft="25dp" 
     android:layout_marginTop="18dp" 
     android:textSize="15dp" 
     android:text="General Preference" 
     android:id="@+id/genpref"> 
     </TextView> 


    <ListView 
     android:id="@+id/settingsListView1" 
     style="@style/listbag" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="15dip" 
     android:layout_marginRight="15dip" 

     android:background="@drawable/radius" 
     android:listSelector="@drawable/list_selector" 
     android:paddingTop="8dip" 
     android:paddingBottom="8dip" 
     android:scrollbars="none" 
     android:layout_below="@id/genpref"/> 

     <TextView style="@style/CodeFont" 
     android:id="@+id/notpref" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_marginLeft="25dp" 
     android:layout_marginTop="25dp" 
     android:textSize="15dp" 
     android:text="Notification Preference" 
     android:layout_below="@id/settingsListView1"> 
     </TextView> 


     <ListView style="@style/listbag" android:id="@+id/settingsListView2" android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
      android:layout_marginLeft="15dip" android:layout_marginRight="15dip" 
       android:layout_marginBottom="15dip" 
     android:background="@drawable/radius" 
       android:paddingLeft="5dip" android:paddingRight="5dip" 
      android:paddingTop="15dip" android:paddingBottom="15dip" 
      android:listSelector="@drawable/list_selector" 
      android:layout_below="@id/notpref" 
      android:scrollbars="none" 
      /> 
      </RelativeLayout> 
</LinearLayout> 

enter image description here如何做的LinearLayout滾動,而無需使用滾動型

在我的應用我要創建兩個列表視圖到LinearLayout中,使LinearLayout中滾動不使用滾動型。據我看來,scrollview有一個與listview工作的問題。這張圖片不是我想要的,但我們假裝在listview下面有另一個listview。所以我想顯示listview的所有可用項目(在我的應用程序2列表視圖的項目),並使LinearLayout可滾動。 ScrollView不會很好,因爲它只能有一個直接的孩子。我找不到解決方案。所以請幫我解決,謝謝

+0

我看到了這樣的其他問題不明白w^hy人們希望顯示一個ListView,並顯示所有可用的列表項。 「ListView」(及其滾動功能)的全部要點是它適合屏幕(或其一部分),並且可以滾動以顯示不符合其佔用空間的其他項目。如果你想顯示一系列'項目',只需爲項目創建一個視圖,然後創建它的多個動態插入到'ScrollView'中,並忘記使用'ListView'。 – Squonk

+0

參考http://stackoverflow.com/a/17876855/336990 ...可能是有用的 – CoDe

回答

0

使用LinearLayout作爲ScrollView的子元素,並將ListView作爲子元素放置到LinearLayout。

+2

這不會工作兄弟,我已經試過了。但是,無論如何感謝您的意見 – fish40

+0

在這種情況下,你可以試試這個問題:[多個ListView問題](http://stackoverflow.com/questions/306626/scrolling-with-multiple-listviews-for-android) – SamSPICA

7

我不認爲它是一個好主意,把多個列表放在一個單一的屏幕becoz觸摸將變得不可思議,使用屏幕將變得複雜。你應該想到別的東西在一個屏幕上顯示多個列表。你可以水平排列在一個screen.Romain蓋伊(谷歌開發者)多個列表也接受了這一事實在下面的鏈接....

http://groups.google.com/group/android-developers/browse_thread/thread/77acd4e54120b777

我希望這個答案將幫助ü解決烏爾問題。

0

我thnk這裏是您的解決方案,,

你不需要在LinearLayout使用ScrollView

LinearLayout

由於layout_weight PARAM使用layout_weight PARAM在childviews(在你的情況下,兩個列表視圖)不RelativeLayout提供你需要LinearLayout去改變它。

你可以像下面,

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    style="@style/bag" 
    android:layout_height="fill_parent" android:layout_width="fill_parent" 
    android:orientation="vertical" > 

<LinearLayout 
     android:id="@+id/relativeLayout2" 
      style="@style/relbag" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
    android:orientation="vertical"> 

     <TextView style="@style/CodeFont" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_marginLeft="25dp" 
     android:layout_marginTop="18dp" 
     android:textSize="15dp" 
     android:text="General Preference" 
     android:id="@+id/genpref"> 
     </TextView> 


    <ListView 
     android:id="@+id/settingsListView1" 
     style="@style/listbag" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_weight="1" 
     android:layout_marginLeft="15dip" 
     android:layout_marginRight="15dip" 
     android:background="@drawable/radius" 
     android:listSelector="@drawable/list_selector" 
     android:paddingTop="8dip" 
     android:paddingBottom="8dip"/> 

     <TextView style="@style/CodeFont" 
     android:id="@+id/notpref" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:layout_marginLeft="25dp" 
     android:layout_marginTop="25dp" 
     android:textSize="15dp" 
     android:text="Notification Preference"> 
     </TextView> 


     <ListView style="@style/listbag" 
     android:id="@+id/settingsListView2" 
     android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:layout_weight="1" 
       android:layout_marginLeft="15dip" 
     android:layout_marginRight="15dip" 
       android:layout_marginBottom="15dip" 
      android:background="@drawable/radius" 
       android:paddingLeft="5dip" android:paddingRight="5dip" 
       android:paddingTop="15dip" android:paddingBottom="15dip" 
       android:listSelector="@drawable/list_selector"/> 

    </LinearLayout> 
</LinearLayout> 

更改您與上面的XML ..我還沒有測試,所以他們可能是你可以輕鬆解決則params的一些愚蠢的錯誤..

0

我用這一點,並幫我

ListAdapter listAdapter = listView.getAdapter(); 
int rows = listAdapter.getCount(); 
int height = 60 * rows; // Insert the general cell height plus the dividers. 

ViewGroup.LayoutParams params = listView.getLayoutParams(); 
params.height = height; 
listView.setLayoutParams(params); 
listView.requestLayout(); 

希望幫助ü太

相關問題