Android ScrollView 下嵌套 ListView 或 GridView出現(xiàn)問題解決辦法
Android ScrollView 下嵌套 ListView 或 GridView出現(xiàn)問題解決辦法
ScrollView 下嵌套 ListView 或 GridView 會發(fā)列表現(xiàn)數(shù)據(jù)只能顯示一行。因為他們都是滾動結(jié)構(gòu),兩個滾動條放到一起就會引起沖突。
解決此問題可以通過計算 ListView 高度或重寫 ListView 的 onMeasure 方法來解決。下面介紹通過重寫 onMeasure 方法來解決問題。
重寫 onMeasure 方法如下:
public class ScrollListView extends ListView {
public ScrollListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int mExpandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, mExpandSpec);
}
}
public class ScrollGridView extends GridView {
public ScrollGridView(Context context, ttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(
Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
ScrollView 需要注意的地方:
1、ScrollView 只支持垂直滾動。
2、ScrollView 只能添加一個子控件 。如果有多個子控件怎么辦呢,直接在這些子控件外面再套一層 LinearLayout 就 OK 了。
以上就是關(guān)于Android 開發(fā)ScrollView 嵌套出現(xiàn)問題的解決辦法,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Android 個人理財工具二:使用SQLite實現(xiàn)啟動時初始化數(shù)據(jù)
本文主要介紹 Android 使用SQLite實現(xiàn)啟動時初始化數(shù)據(jù),這里對SQLite 的數(shù)據(jù)庫進行詳解,附有示例代碼,有興趣的小伙伴可以參考下2016-08-08
Android實現(xiàn)ListView異步加載的方法(改進版)
這篇文章主要介紹了Android實現(xiàn)ListView異步加載的方法,針對前面介紹的方法進行了線程操作的改進,具有一定參考借鑒價值,需要的朋友可以參考下2016-08-08
詳解Android中Intent傳遞對象給Activity的方法
這篇文章主要介紹了Android中Intent傳遞對象給Activity的方法,文章中對Activity的生命周期等知識先作了簡要的介紹,需要的朋友可以參考下2016-04-04
android實現(xiàn)Uri獲取真實路徑轉(zhuǎn)換成File的方法
這篇文章主要介紹了android實現(xiàn)Uri獲取真實路徑轉(zhuǎn)換成File的方法,涉及Android操作路徑的相關(guān)技巧,需要的朋友可以參考下2015-05-05
Android編程之Activity中onDestroy()調(diào)用分析
這篇文章主要介紹了Android編程之Activity中onDestroy()調(diào)用方法,針對onDestroy引起的內(nèi)存泄露及解決方法進行了分析,并給出了解決方案,需要的朋友可以參考下2015-12-12

