我现在正在构建一个应用程序,我正在使用Button
视图并使用选择器 xml 文件将按钮的背景设置为我的图像。但是我发现这些按钮对触摸不是很敏感,而且由于它们有点小,所以要花点力气才能按下。
我的问题是不同的android视图元素有不同的敏感度吗?是否有更好的视图可以使用更敏感或更有用,甚至可以调整灵敏度?
我现在正在构建一个应用程序,我正在使用Button
视图并使用选择器 xml 文件将按钮的背景设置为我的图像。但是我发现这些按钮对触摸不是很敏感,而且由于它们有点小,所以要花点力气才能按下。
我的问题是不同的android视图元素有不同的敏感度吗?是否有更好的视图可以使用更敏感或更有用,甚至可以调整灵敏度?
据我所知,所有视图的触摸灵敏度都是相同的。建议任何触摸目标(例如您的按钮)的最短边距至少为 48dp。如果你的按钮比这个小,增加它们可能会有所帮助。android:minWidth
使用和android:minHeight
属性可以做到这一点:
<Button android:id="@+id/my_button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:minHeight="48dp"
android:minWidth="48dp"
android:text="My Button" />
也可能是您注意到按钮选择的延迟。Android(无论好坏——我个人觉得它慢得令人讨厌)在您按下可按下项目和它在 UI 上反映该按下状态之间增加了延迟。我相信它主要用于 ListViews 之类的东西,否则您可能会在按下某个项目然后移动手指之间看到闪烁(例如,您打算做出滚动手势,但它首先显示被按下的项目)。
您可以在 onTouch 事件中处理设置状态,在 ACTION_DOWN 上将按下状态设置为 true,在 ACTION_UP 上设置为 false。