Android页面布局的时候,有时会遇到一些较为复杂的页面,比如商品详情页,ScrollView嵌套ListVew或者GridView等很常用。

在不做任务处理的情况下,Listview或者Gridview的数据只能显示一行多一点点,其它的就看不到了。要解决这个问题网上有很多方法,计算listview的item高度重新赋值,或

者重写Listview的onMeasure方法都可以,这里就贴很好用且用的最多的方法。

重写Listview或者Gridview的onMeasure:

public class MyListView extends ListView {public MyListView(Context context, AttributeSet attrs) {super(context, attrs);}public MyListView(Context context) {super(context);}public MyListView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);}@Overridepublic void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);super.onMeasure(widthMeasureSpec, expandSpec);}}

public class MyGridView extends GridView {public MyGridView(Context context) {super(context);}public MyGridView(Context context, AttributeSet attrs) {super(context, attrs);}public MyGridView(Context context, AttributeSet attrs, int defStyle) {super(context, attrs, defStyle);}@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,MeasureSpec.AT_MOST);super.onMeasure(widthMeasureSpec, expandSpec);}}

最后在布局文件写入你自己的控件名字就好了。




更多相关文章

  1. Android(安卓)StepView物流进度
  2. Android(安卓)弹性布局 FlexboxLayout(一) :flexDirection,flexWrap
  3. Android(安卓)U盘文件显示在文件管理器
  4. Android(安卓)Scroll详解(三):Android(安卓)绘制过程详解
  5. Java代理模式与Android的情结
  6. Android事件分派机制
  7. Android消息机制(一):主要流程与原理解析
  8. Android中的Sqlite数据库的简单使用
  9. 【工利其器】必会工具之(四)Refactor篇——Android(安卓)Studio在

随机推荐

  1. [Android] ExpandableListView 子目录点
  2. android shape用法
  3. Android内存管理机制
  4. Android 4.0.3 CTS 测试
  5. android系统工具之 draw9patch超详细教程
  6. Spinner的三级联动
  7. ExpandableListView 怎么和其他组件相互
  8. Android(安卓)-- 动态添加布局
  9. android命令行播放mp3
  10. Android补间动画原理介绍