释放双眼,带上耳机,听听看~!

package com.sikkha.skline.utils;

import android.graphics.Rect;

import android.view.TouchDelegate;

import android.view.View;

/**

* ================================================

*

* @author:Vip 版 本:V 5.0.0

* 创建日期:2018/8/29

* 描 述:点击扩大点击区域的工具类

* 修订历史:

* ================================================

*/

public class TouchDelegateUtils {

/**

* 增加控件的可点击范围,最大范围只能是父布局所包含的的区域

*/

public static void addDefaultScreenArea(final View view, final int top, final int bottom, final int left, final int right) { // 增大checkBox的可点击范围

final View parent = (View) view.getParent();

parent.post(new Runnable() {

@Override

public void run() {

Rect bounds = new Rect();

view.setEnabled(true);

view.getHitRect(bounds);

bounds.top -= top;

bounds.bottom += bottom;

bounds.left -= left;

bounds.right += right;

TouchDelegate touchDelegate = new TouchDelegate(bounds, view);

if (View.class.isInstance(view.getParent())) {

((View) view.getParent()).setTouchDelegate(touchDelegate);

}

}

});

}

/**

* 还原View的触摸和点击响应范围,最小不小于View自身范围

*

* @param view

*/

public static void restoreViewTouchDelegate(final View view) {

((View) view.getParent()).post(new Runnable() {

@Override

public void run() {

Rect bounds = new Rect();

bounds.setEmpty();

TouchDelegate touchDelegate = new TouchDelegate(bounds, view);

if (View.class.isInstance(view.getParent())) {

((View) view.getParent()).setTouchDelegate(touchDelegate);

}

}

});

}

}

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐