【Android Studio】小游戏 | 实现两个小动物随手指移动

发布时间:2023-12-25 14:00

注:实验环境 Android studio 2021.2.1

1、具体说明

在本例子中,以两个小动物为例,这两个小动物为自定义的view,可以根据点击位置实时更改其位置。

1.1、首先就是触摸监听事件的设置。

setOnTouchListener中的OnTouch方法。
该方法只要有手在屏幕上就会调用,比如按下,滑动,抬起,会时刻调用该函数的。

1.2、屏幕操作

屏幕操作在framelayout布局中的的传递顺序:
framelayout布局是分层的,每层只有一个控件。
假如该framelayout上有多层,每次对屏幕的操作会从顶层开始向下判断,如果其中某一层的onTouch 方法return true,那么下面的层将不会接收到这些操作事件,也就是下面层对应的onTouch方法不会被调用。只有上层的返回false,底层的才能接收到屏幕事件。

1.3、对于函数:public boolean onTouch(View view, MotionEvent motionEvent)

  • motionEvent.getAction() //获取状态值,就是上面的action_xx
  • motionEvent.getX()//获取按下的x坐标
  • motionEvent.getY()//获取按下的y坐标
  • 可以看到其形参有一个motionEvent,其就是当用户对屏幕进行操作时的操作类型,比如我们按屏幕滑动时,分为三个步骤大概,比如按下一瞬间ACTION_DOWN,按下后的滑动ACTION_MOVE,以及抬起ACTION_UP。我们可以通过motionEvent.getAction()函数来获得此事件。
  • 手只要没离开屏幕,ontouch方法会一直不停的调用。
  • 在ontouch中设置一个switch()对该值进行判断。每次调用该方法都会触发一次判断。
    综上所述,要控制framelayout中,多层控件的触摸就变得非常清晰了。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号