zoukankan      html  css  js  c++  java
  • 无滚动条GridView少量图片展示

    import android.content.Context;
    import android.util.AttributeSet;
    import android.util.Log;
    import android.view.MotionEvent;
    import android.widget.GridView;
    
    public class NoScrollGridView extends GridView {
    
        private static final String TAG = "NoScrollGridView";
        private static final int BLANK_POSITION = -1;
        private OnTouchBlankPositionListener mTouchBlankPosListener;
    
        public NoScrollGridView(Context context) {
            super(context);
        }
    
        public NoScrollGridView(Context context, AttributeSet 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);
        }
    
        public interface OnTouchBlankPositionListener {
            boolean onTouchBlankPosition();
        }
    
        public void setOnTouchBlankPositionListener(OnTouchBlankPositionListener listener) {
            mTouchBlankPosListener = listener;
        }
    
        @Override
        public boolean onTouchEvent(MotionEvent event) {
    
            if (mTouchBlankPosListener != null) {
                if (!isEnabled()) {
                    // A disabled view that is clickable still consumes the touch
                    // events, it just doesn't respond to them.
                    return isClickable() || isLongClickable();
                }
                if (event.getActionMasked() == MotionEvent.ACTION_UP) {
                    final int motionPosition = pointToPosition((int) event.getX(), (int) event.getY());
                    if (motionPosition == BLANK_POSITION) {
                        return mTouchBlankPosListener.onTouchBlankPosition();
                    }
                }
            }
            return super.onTouchEvent(event);
        }
    }
  • 相关阅读:
    day50——前端简介、标签分类、常用标签
    day46——约束条件、表与表建 关系、修改表的完整语法
    day45——存储引擎、数据类型、约束条件
    day44——存储数据的发展、数据库分类、mysql
    Ⅰ:计算机核心基础
    Ⅶ:基本数据类型及内置方法
    Ⅶ:作业
    Ⅵ:深浅copy
    Ⅵ:流程控制
    Ⅳ:运算符
  • 原文地址:https://www.cnblogs.com/magics/p/4056128.html
Copyright © 2011-2022 走看看