scrollview 和listview共存問題

2021-06-29 01:48:52 字數 2454 閱讀 5150

共存問題:

1.listview高度無效,需要重新計算,可以和scrollview共存。

2.兩個都有滾動事件,這時不能共存;要想使用scrollview,可以自定義listview,擴充套件linearlayout。

兩者都可以滑動,共存時listview只能顯示一行資料,這時需要重新計算listview的高度

一、在布局中寫死listview的高度,雖然能顯示多行,對於海量資料並不適合。

二、自定義listview

publicclassmylistviewextendslistview

publicmylistview(context context, attributeset attrs)

publicmylistview(context context, attributeset attrs,

intdefstyle)

@override

protectedvoidonmeasure(intwidthmeasurespec,intheightmeasurespec)

}

三、重新設定listview的高度,並在填充adapter(setadapter())後呼叫

publicvoidsetlistviewheightbasedonchildren(listview listview)

inttotalheight =0;

for(inti =0; i < listadapter.getcount(); i++)

viewgroup.layoutparams params = listview.getlayoutparams();

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

((marginlayoutparams)params).setmargins(10,10,10,10);

listview.setlayoutparams(params);

}

四、自定義listview,擴充套件linearlayout

public class adapterforlinearlayout extends baseadapter

@override

public int getcount()

@override

public object getitem(int position)

@suppresswarnings("unchecked")

public string get(int position, object key)

@override

public long getitemid(int position)

@override

public view getview(int position, view convertview, viewgroup parent)

convertview.settag(position);

return convertview;

}/**

* 繫結檢視

* @param view

* @param item

* @param from

*/private void bindview(view view, mapitem, string from) }}

ScrollView和ViewPager巢狀的問題

1 viewpager不顯示的情況,設定 android fillviewport true 2 viewpager顯示在螢幕下方,需要手動劃一下才能看到viewpager。解決辦法 呼叫scrollview的fullscorll方法。若是直接呼叫呼叫fullscroll,會發現無法滾動到真正的底部...

ViewPager和ScrollView滑動衝突

viewpager和scrollview結合使用時,viewpager不能正常翻頁,解決的辦法是給viewpager新增乙個ontoutch事件,阻止制定的控制項不能滑動,使用requestdisallowintercepttouchevent true 方法,ture表示對應的控制項不能滑動,fa...

TableView和Scrollview的混用

剛開始做ios,所以很多都不懂,把不會的記下來,可以幫助有需要的人,也可以留下自己學習路上的點滴 首先 在乙個vc裡新增乙個scrollview,然後,在scrollview裡新增3個vc tableview tableview viewcontroller 第一步 建立三個不同的vc 第二步 在v...