区域"/>
Android view扩大点击区域
一、方式一
通过添加padding来扩大点击区域。
二、方式二
TouchDelegate让父视图能够将子视图的可轻触区域扩展到子视图的边界之外。当子视图必须较小,同时又应该具有较大的轻触区域时,此方法很有用。
TouchDelegate的使用方法很简单,考虑下图这种情形
我们想扩大View2的点击区域至View1内部的Bounds区域,只需在View2完成绘制后获取到其扩展区域Bounds相对于View1的坐标,再为View1设置TouchDelegate即可。代码如下:
view1.post(new Runnable() {@Overridepublic void run() {Rect bounds = new Rect();// 获取View2区域在View1中的相对位置,这里因为View1是View2的直接父View,所以使用getHitRect()view2.getHitRect(bounds);// 计算扩展后的区域Bounds相对于View1的位置,left、top、right、bottom分别为View2在各个方向上的扩展范围bounds.left -= left;bounds.top -= top;bounds.right += right;bounds.bottom += bottom;// 创建TouchDelegateTouchDelegate touchDelegate = new TouchDelegate(bounds, view2);// 为View1设置TouchDelegateview1.setTouchDelegate(touchDelegate);}
}
更多推荐
Android view扩大点击区域
发布评论