android - 触摸屏灵敏度

标签 android

我正在尝试制作一个仅适用于平板电脑的Android应用程序,它将在用户触摸屏幕的位置绘制线条。它非常简单,而且还有很多类似的应用程序。我对触摸屏技术有疑问。是否有可能,如果用户轻柔触摸屏幕,则绘制的线条会变暗,而如果用户用力触摸屏幕,则绘制的线条会较粗?甚至可以在平板电脑上做这样的事情吗?我没有有关平板电脑中使用的硬件和技术的信息,请指导我提供有效的答案,并请我引用任何有关触摸感应技术的博客或文档。 谢谢

最佳答案

您可以使用 OnTouch() 输入事件 (http://developer.android.com/guide/topics/ui/ui-events.html),该事件在您触摸屏幕时触发。因此,在应用程序的 VIEW 内部,您应该使用 setOnTouchListener ( setOnTouchListener ) 注册一个 OnTouchListener ,并回调处理该事件的函数。

在回调中获取压力属性:

public float pressure

Added in API level 9 A normalized value that describes the pressure applied to the device by a finger or other tool. The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure), although values higher than 1 may be generated depending on the calibration of the input device.

http://developer.android.com/reference/android/view/MotionEvent.PointerCoords.html#pressure

当你触摸屏幕时,你会得到一个 MotionEvent,它有很多方法,其中一个给你压力

http://developer.android.com/reference/android/view/MotionEvent.html

final float getPressure() getPressure(int)

final float getPressure(int pointerIndex)

关于android - 触摸屏灵敏度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13716506/

相关文章:

android - 如何从broadcastReceiver调用服务方法?

Android - 在 fragment 替换时保存 RecyclerView 状态和项目而不会丢失内存

android - 使用替换时 FragmentManager 崩溃

android - Gradle 14.4 无法构建 - Gradle DSL 方法未找到 'packageName()'

android - 应用程序子类实现了所需的接口(interface),但系统拒绝

php - Google Cloud Messaging - 注册设备太多导致消息失败?

android - 为什么只有被调用的activity的共享元素进入transition run?

java - C# 的 goto 语句在 Java 中的等价物是什么?

android - 交叉编译arm64

android - 屏幕旋转问题。屏幕无法回到原来的 View