關於ScrollView巢狀ListView

2022-09-14 11:00:13 字數 1378 閱讀 5699

今天工作中需要這個,以前也寫過這樣的需求但是沒有記錄下來,今天趁機記錄一下。也希望對大家工作有幫助!謝謝。

來電與主題無關的,要實現scrollview滾動條的隱藏,有兩種方法,

一種是在xml的scrollview布局中加入屬性android:scrollbars="none"

另一種則是在**中獲取scrollview後進行scroll.setverticalscrollbarenabled(false);

下面來說下scrollview如何巢狀listview

按常理,scrollview套listview會存在兩個問題:

1.裡面的listview高度無法算出來,通常只能顯示listview的其中一行

2.listview不能滾動

為什麼scrollview巢狀listview會出現問題,只顯示乙個item的問題。

這個是計算listview高度產生的問題。

我們可以這樣解決。

第一給listview乙個固定的高度。

例如設定android:layout_height="200dip",那麼可以解決,可能會影響美觀。

第二給scrollview設定屬性:android:fillviewport="true"

測試的時候發現,如果listview載入的資料不多的話,確實可以解決,但是當listview載入的資料較多的時候,仍舊無法顯示完全,並且這個時候listview自身也無法滾動了。

第三,我也是按照這個方法的,用**重新測量下listview的高度。

1

private

void

initload()

6public

void

setlistviewheightbasedonchildren(listview listview)

1213

int totalheight = 0;

14for (int i = 0, len = listadapter.getcount(); i < len; i++)

2223 viewgroup.layoutparams params =listview.getlayoutparams();

24 params.height = totalheight+ (listview.getdividerheight() * (listadapter.getcount() - 1));

25//

listview.getdividerheight()獲取子項間分隔符占用的高度

26//

params.height最後得到整個listview完整顯示需要的高度

27listview.setlayoutparams(params);

28 }

ScrollView巢狀ListView只顯示一行

在開發的過程當中,由於手機螢幕的大小的限制,我們經常需要使用滑動的方式,來顯示更多的內容。在最近的工作中,遇見乙個需求,需要將listview巢狀到scrollview中顯示。於是乎有了如下布局 執行程式,如下結果,無論你如何調整layout width,layout height屬性,listvi...

ScrollView巢狀GridView的情況

開發中用到了需要scrollview巢狀gridview的情況,由於這兩款控制項都自帶滾動條,當他們碰到一起的時候便會出問題,即gridview會顯示不全。解決辦法,自定義乙個gridview控制項 public class mygridview extends gridview public my...

ScrollView巢狀ListView解決方法

在android中,不允許巢狀具有滑動視窗的view,但是有時又需要用到,這時需要重寫listview方法,這時就可以使用了,具體如下 package com.example.wangyi.review import android.content.context import android.ut...