getAction、getActionMask、getActionIndex区别

Android用一个32位的整型值表示一次TouchEvent事件,低8位表示touch事件的具体动作,比如按下,抬起,滑动,还有多点触控时的按下,抬起,这个和单点是区分开的,下面看具体的方法:
1 getAction:触摸动作的原始32位信息,包括事件的动作,触控点信息
2 getActionMask:触摸的动作,按下,抬起,滑动,多点按下,多点抬起
3 getActionIndex:触控点信息

public static final int ACTION_MASK = 0xff;
public static final int ACTION_POINTER_INDEX_MASK = 0xff00;
public static final int ACTION_POINTER_INDEX_SHIFT = 8;
单词mask的意思是掩藏掩饰,在这里所表达的含义就是要把一部分信息掩饰掉,只保留要想的信息,无论是使用getAction还是getActionMasked,触屏事件都会回调到onTouchEvent,在多点操控时,以双指按下屏幕为例,系统会多回调一个值表示双指按下,如果使用getAction的话,这个值是261,如果使用getActionMasked这个值是5,所以对于多点操控,android只是多回调了一次,由于android使用低8位表示touch的具体动作,所以如果想在多点触控时做一些事情就需要使用getActionMasked,当然如果你不闲麻烦,你可以可以使用硬编码的方式使用261。

//包含动作和触控点信息
public final int getAction() {
        return n
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: intent.getaction()是一个Android中的方法,用于获取Intent对象中的Action属性。Action属性是用于描述Intent的行为或目的的字符串,例如打开某个Activity、发送某个广播等。通过调用intent.getaction()方法,可以获取Intent对象中的Action属性的值。 ### 回答2: intent.getaction()是Android应用程序中常用的方法之一,它的主要作用是获取当前Intent对象的Action属性值。 在Android开发中,Intent是一种重要的机制,它用于完成应用程序和系统之间的通信,包括启动Activity、启动Service、发送广播等。在实践中,每个Intent都包含一个Action属性,用于表示当前Intent的意图,也就是要完成什么样的操作。 当我们创建一个Intent对象后,可以通过intent.getaction()方法来获取该Intent的Action属性值。如果该Intent没有设置Action属性,则返回null。 通过获取Intent的Action属性值,我们可以对当前Intent的意图进行判断和处理。可以根据Action属性值来进行不同的操作,比如启动不同的Activity、发送不同的广播、启动不同的Service等。 需要注意的是,Intent的Action属性是一个字符串类型,因此在进行判断时,需要使用字符串比较操作。如果我们想要在多个Activity或Service之间进行切换,并且这些组件都能够响应某一特定的Action属性,我们可以通过设置相同的Action属性值,来达到对应效果。 综上所述,intent.getaction()方法是Android开发中十分常用的一个API之一,主要用于获取Intent的Action属性值,并根据Action属性值来进行相应的操作,从而实现更加灵活高效的应用程序。 ### 回答3: intent.getaction()是一个Android开发常用的方法,它是用来获取Intent的动作类型的。在Android应用程序中,经常需要通过Intent来启动或者传递数据给其他组件。Intent是一种用于在组件之间传递消息的对象,它可以携带数据或者指明要执行的操作。 在使用Intent时,可以设置启动或者执行某些操作的动作类型,例如打开某个应用程序、启动某个服务、播放某个音频或者视频文件等等。而intent.getaction()方法就是用来获取当前Intent的动作类型,可以用于在代码中判断当前Intent的类型,以便做出不同的处理。 例如,当我们需要使用Intent来打开一个网页时,需要设置Intent的动作类型为ACTION_VIEW,然后指定网页的URL地址,我们可以使用intent.getaction()来获取当前的动作类型,做出相应的处理。同样,当我们需要启动一个服务或者播放一首音乐时,也需要设置不同的动作类型,并使用intent.getaction()获取当前的动作类型,以便做出相应的处理。 因此,intent.getaction()是一个非常重要的方法,它可以帮助我们判断Intent的类型,以便在代码中做出不同的处理,实现各种复杂的应用程序功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值