private void accretionArea() {
View parent = (View) btn_test.getParent();
parent.post(new Runnable() {
public void run() {
Rect outRect = new Rect();
// 只有在parent is attached to a window 时这个outRect为mButton
// 否则坐标都为0,这也是为什么要在post里执行的原因。
// 后的按钮的区域坐标--outRect;
btn_test.getHitRect(outRect);
Log.d("lhz", "区域范围" + outRect.left + "---" + outRect.bottom);
outRect.left -= 200;
outRect.top -= 200;
outRect.right += 200;
outRect.bottom += 200;
// 传入一个区域和view 这个区域将代理这个view
TouchDelegate deldgate = new TouchDelegate(outRect, btn_test);
// 判断类似与 instanceof
if (View.class.isInstance(btn_test.getParent())) {
((View) btn_test.getParent()).setTouchDelegate(deldgate);
Log.e("lhz", "设置了代理");
}
}
});
}
android 不改变布局的情况下,增加可点击区域
最新推荐文章于 2023-11-06 16:54:56 发布