zoukankan      html  css  js  c++  java
  • 扩大小按钮的事件点击范围

    我们在平时的实战开发过程中经常会碰到这样的一些需求,我们要点击一个小按钮弹出一个DialogFragment或者点击之后跳转到另外一个界面上去,我们发现由于按钮太小了不容易点击,这样的体验非常不好,怎么办?

    效果图

    很多长人肯定会说给View加个Padding就行了嘛,是的这样可以解决问题,但是你有没有想过如果该View有背景图,结果你加了个Padding ,View的背景图变形了,这种情况下通过加Padding加大点击范围的方案就行不通了,如何破解?其实很简单,稍微懂点脑筋就把这个问题解决了,我们给这个小按钮外围包裹一个LinearLayout或RelativeLayout,当我们点击外围的LinearLayout或RelativeLayout的时候把这个事件传递给小按钮问题立马就解决了

    关键代码:

    public class FatArrowView extends RelativeLayout {
    //拦截事件
    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {( http://www.my516.com)
    Log.v(TAG,"onInterceptTouchEvent start...");
    return true;
    }

    //把事件分发给我们的子View CheckBox
    @Override
    public boolean onTouchEvent(MotionEvent event) {
    Log.v(TAG,"onTouchEvent start...");
    //当手指离开屏幕的时候设置CheckBox的状态
    if (event.getAction() == MotionEvent.ACTION_UP){
    ischeck = !ischeck;
    mCheckBox.setChecked(ischeck);
    }
    return true;
    }
    }

  • 相关阅读:
    [Linux]-Nginx平滑升级
    [Linux]-部署PXE网络装机
    [Linux]--构建DR模式的LVS群集
    [Linux]--构建NAT模式的LVS群集
    [Linux]-Apache,awstats部署
    [Linux]-部署Nginx Apache动静分离
    [Linux]-Rsync同步
    Vue.js内部运行机制(一)
    JS类数组对象及如何转变为真正的数组
    JS、TS中的符号表达式
  • 原文地址:https://www.cnblogs.com/hyhy904/p/11369924.html
Copyright © 2011-2022 走看看