方法一
在该图片外包裹一层布局比如RelativeLayout且设定其大小(比如300*300).然后为该布局设置ClickListener响应点赞操作。
通过这么做,可以达到目的,但是有点繁琐,改了布局文件还要修改代码。
方法二
利用TouchDelegate扩大View的可触摸范围,核心代码如下:
public static void setTouchDelegate(final View view, final int expandTouchWidth) {
final View parentView = (View) view.getParent();
parentView.post(new Runnable() {
@Override
public void run() {
final Rect rect = new Rect();
view.getHitRect(rect);
rect.top -= expandTouchWidth;
rect.bottom += expandTouchWidth;
rect.left -= expandTouchWidth;
rect.right += expandTouchWidth;
TouchDelegate touchDelegate = new TouchDelegate(rect, view);
parentView.setTouchDelegate(touchDelegate);
}
});
}
在此,将点赞按钮的可触摸范围扩大200px
setTouchDelegate(mPraiseImageView,200);
从而提升了用户体验。
这样做不用调整布局文件,只用修改代码即可。