ScrollView嵌套ListView或者GridView显示不全是因为滑动冲突,计算ListView或者GridView的高度就行了 
/**  * 根据数据设置ListView,GridView的高度,从而确定其在ScrollView的显示高度  *  *  */ public class ListViewUtility {    public static void setListViewHeightBasedOnChildren(ListView listView) {        ListAdapter listAdapter = listView.getAdapter();        if (listAdapter == null) {            return;        }        int totalHeight = 0;        for (int i = 0; i < listAdapter.getCount(); i++) {            View listItem = listAdapter.getView(i, null, listView);            listItem.measure(0, 0);            totalHeight += listItem.getMeasuredHeight();        }        ViewGroup.LayoutParams params = listView.getLayoutParams();        int height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount()));        params.height = height;        listView.setLayoutParams(params);    }    public void setGridViewHeight(GridView gridview, int num) {        ListAdapter Adapter = gridview.getAdapter();        if (Adapter == null) {            return;        }        int size = Adapter.getCount();        int row = size / num;        if (size % num != 0) {            row += 1;        }        gridview.measure(0, 0);        View gridItem = Adapter.getView(0, null, gridview);        gridItem.measure(0, 0);        int height = gridItem.getMeasuredHeight();        ViewGroup.LayoutParams params = gridview.getLayoutParams();        params.height = row * height;        gridview.setLayoutParams(params);    }    public int getGridViewHeight(GridView gridview, int num) {        ListAdapter Adapter = gridview.getAdapter();        if (Adapter == null) {            return 0;        }        int size = Adapter.getCount();        int row = size / num;        if (size % num != 0) {            row += 1;        }        gridview.measure(0, 0);        View gridItem = Adapter.getView(0, null, gridview);        gridItem.measure(0, 0);        int height = gridItem.getMeasuredHeight();        return row * height;    }}

更多相关文章

  1. ImageView宽度填满屏幕,高度自适应
  2. Suggestion: add 'tools:replace="android:label"' to element a
  3. ScrollView中的组件设置android:layout_height=fill_parent不起
  4. Android:获取屏幕的宽度和高度
  5. 整理:控件之间的冲突
  6. achartengine与Android中ScrollView的冲突问题
  7. View Touch 事件分发
  8. Android学习笔记之相对布局与表格布局
  9. android 第三方app截图

随机推荐

  1. ap6234移植
  2. Android5.0网络子系统
  3. android 获取系统中各种类型音量及对音量
  4. Android中的事件分发传递机制
  5. android recovery 系统代码分析【精】
  6. Android GridView使用注意的问题
  7. ANR超时时间的定义 .
  8. android建立NDK项目调用jrtplib与pc机进
  9. Android多文件断点续传(三)——实现文件断
  10. Android更新Ui线程的四个方法