Android扩大图片的点击区域

以前写过一个弹出式菜单,图片很小,手指不容易点到。刚好途牛android面试被问到这个问题(虽然没拿到offer),在此总结

不能用增大图片的方法,因为有的图片就是要小才美观。

最开始的布局如下:

<ImageView
            android:id="@+id/iv_more"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/icon_more"
            android:paddingRight="20dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:onClick="onPopupClick"
            />

修改为方法一:
src与background区别就是,把图片设置为background就会拉伸图片填充整个view,而src只显示原图片的大小,这里把ImageView改为ImageButton

"@+id/iv_more"
            android:layout_width="40dp"
            android:layout_height="60dp"
            android:src="@drawable/icon_more"
            android:paddingRight="20dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:onClick="onPopupClick"
            android:background="@null"
            />

方法二:
通过设置android:scaletype来设置src图片的显示格式

<ImageView
            android:id="@+id/iv_more"
            android:layout_width="40dp"
            android:layout_height="60dp"
            android:src="@drawable/icon_more"
            android:paddingRight="20dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:onClick="onPopupClick"
            android:scaleType="centerInside"
            />

运行界面如下图,经过实践这两种方法都可以扩大图片的点击区域

Android扩大图片的点击区域_第1张图片

你可能感兴趣的:(Android)