Android在开发中的实用技巧之ScrollView嵌套Lis

作者: coexist | 来源:发表于2016-10-29 11:46 被阅读283次
    根据已上线的app里总结出来的实用小技巧

    当ScrollView嵌套ListView或GridView等控件出现的各种问题, 解决的最佳方案
    • ListView或GridView的内容无法全部显示(ListView和GridView用法一样)
      解决方案自定义该控件
    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 defStyleAttr) {
            super(context, attrs, defStyleAttr);
        }
    
        /**
         * 重写该方法,达到使GridView 适应ScrollView的效果
         */
        @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
                    MeasureSpec.AT_MOST);
            super.onMeasure(widthMeasureSpec, expandSpec);
        }
    }
    
    • 上面问题解决后, 接着就会出现数据加载完页面没有停留在顶部的问题
      解决方案让控件失去焦点
    //必须在控件初始化后设置, 也不能写在layout中否则不起作用
    gridView.setFocusable(false);
    

    相关文章

      网友评论

        本文标题:Android在开发中的实用技巧之ScrollView嵌套Lis

        本文链接:https://www.haomeiwen.com/subject/hzqyuttx.html