我是 android 编程的新手,我正在尝试创建一个简单的程序,我可以在其中处理不同形状上的拖动和触摸事件。
从android API,我了解到向小部件(例如:ImageView)添加事件侦听器很容易。但是对于 RectF 或 Circle 等图形,我该如何做呢?
由于我是新手,如果有人能用更简单的术语解释,我将不胜感激。
我是 android 编程的新手,我正在尝试创建一个简单的程序,我可以在其中处理不同形状上的拖动和触摸事件。
从android API,我了解到向小部件(例如:ImageView)添加事件侦听器很容易。但是对于 RectF 或 Circle 等图形,我该如何做呢?
由于我是新手,如果有人能用更简单的术语解释,我将不胜感激。
您可以覆盖视图的 onTouch 方法
每当有触摸时,获取触摸的坐标
使用 Rect.contains(x,y) 来检测触摸是否在特定的 Rect 内
相应地执行操作
OnClickListeners之类的东西只能添加到View类的子集中。
但是,对于形状等,您可以覆盖基本布局的 onTouch() 方法。然后在MotionEvent.ACTION_DOWN中获取触摸点的坐标,并查看它们是否与您的任何形状相交。如果它与形状相交,则用户单击该形状,您可以实现所需的任何代码。