final ImageView close = (ImageView) view.findViewById(R.id.close);
View parent = view.findViewById(R.id.rl_title);
parent.post(new Runnable() {
@Override
public void run() {
Rect delegateArea = new Rect();
ImageView delegate = close;
delegate.getHitRect(delegateArea);
// 扩大触摸区域矩阵值
delegateArea.left -= 50;
delegateArea.top -= 50;
delegateArea.right += 50;
delegateArea.bottom += 50;
TouchDelegate expandedArea = new TouchDelegate(delegateArea, delegate);
if(View.class.isInstance(delegate.getParent())){
// 设置视图扩大后的触摸区域
((View)delegate.getParent()).setTouchDelegate(expandedArea);
}
}
});
View parent = view.findViewById(R.id.rl_title);
parent.post(new Runnable() {
@Override
public void run() {
Rect delegateArea = new Rect();
ImageView delegate = close;
delegate.getHitRect(delegateArea);
// 扩大触摸区域矩阵值
delegateArea.left -= 50;
delegateArea.top -= 50;
delegateArea.right += 50;
delegateArea.bottom += 50;
TouchDelegate expandedArea = new TouchDelegate(delegateArea, delegate);
if(View.class.isInstance(delegate.getParent())){
// 设置视图扩大后的触摸区域
((View)delegate.getParent()).setTouchDelegate(expandedArea);
}
}
});
本文介绍了一种在Android中通过修改ImageView的触摸区域来改善用户体验的方法。具体操作涉及使用TouchDelegate来扩展ImageView的点击范围,使得即使用户没有精确点击到ImageView上也能触发相应交互。
407

被折叠的 条评论
为什么被折叠?



