在做Android的开发过程中,各种点击处理是我们必须要做的,随着手机分辨率和尺寸的变大,一个小图标的点击似乎越来越麻烦,就需要在图片尺寸不变的情况下扩大点击范围。做法很多。
这里就记录一个简单的方法:
通常情况下,我们对ImageView的布局写法是这样的:
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/icon" />
这种情况下,如果手机分分辨率天大的情况下,ImageView就不容易被点到,所以我们加一点改进:
<ImageView
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/icon"
android:scaleType="centerInside"/>
在这里我增加了android:scaleType="centerInside”属性,这样我们设置的图片就可以按原始大小显示,而点击区域就是我们设置ImageView的大小,当然,这里一定要以 android:src="@drawable/icon" 这样设置,不要设置background,否则,图片会变形。
这样似乎是解决了问题,但是还有意外,因为Android中手机的适配永远是一个讲不完的话题。
如果你的切图是以切大图以压缩的方式去适配的,那这种方式是可行的,我们可以通过是设置ImageView的padding属性来控制图片的显示大小。
而如果图标切图小的话,显示上就无法满足,你也无法以拉伸iamgeView的方式去拉伸图片。
还有一种比较中庸的做法:就是在ImageView外套一层Layout,用layout来控制点击区域,用ImageView来控制图标显示大小。