添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
腹黑的铁板烧  ·  JavaScript ...·  昨天    · 
帅气的弓箭  ·  linevent_book.md·  1 周前    · 
狂野的伤疤  ·  webContents | Electron·  1 周前    · 
喝醉的烤面包  ·  webContents | FAQ·  1 周前    · 
好帅的红茶  ·  使用json-path解析json - ...·  3 周前    · 
深沉的金鱼  ·  Amazon·  4 月前    · 
  • ACTION_DONW このポインタのindexは必ず0が割り当てられる
  • ACTION_POINTER_DOWN indexが0以外のポインタがスクリーン上で検知された場合、呼び出される。割り当てられるindexは、 getActionIndex() メソッドから取得が可能
  • ACTION_POINTER_UP ポインタが離れた場合、呼び出される
  • ACTION_UP 最後のポインタがスクリーンを離れた場合、呼び出される
  • index ID を通して、個々の ポインター をトラックする

  • index ポインター 情報は配列としてストアされている。 MotionEvent で用意されている多くのメソッドは、このindex値を引き受ける
  • ID 各ポインタは、タッチイベントを通じて変わらないIDが割り当てられている
  • 格納されるポインタの順序(index)は未定義であるが、IDは変わらない。 該当するポインタのindexが取得したい場合は、 findPointerIndex(ID) メソッドを使うことができる。

    // ポインタIDの保存。indexが0のポインタは、ACTION_DOWNイベントを発生させたポインタであることが保証されている
    mActivePointerId = event.getPointerId(0)
    val (x: Float, y: Float) = event.findPointerIndex(mActionPointerId).let { 
        event.getX(pointerIndex) to event.getY(pointerIndex)
    

    MotionEvent その他のパラメーター

    history情報

    前回のタッチポイントを取得することができる

    val prevX = event.getHistoricalX(0, event.historySize - 1)
  • event.historySize ACTION_MOVEの時のみ有効。それ以外のアクション時は常に0が返される
  • getHistoricalX(pointerIndex, position) 過去のタッチイベント情報の取得
  • MotionEvent.action vs MotionEvent.actionMasked

    両方ともint値が返されるが、MotionEvent.actionの方には、ID値も添付される。

    単純にアクションの判定を行う場合は、MotionEvent.actionMaskedの方を使用する。

    when(event.actionMasked) {
        MotionEvent.ACTION_DOWN -> { // このポインタのindexは必ず0が割り当てられる
        MotionEvent.ACTION_POINTER_DOWN -> {
        MotionEvent.ACTION_MOVE -> { ..
        MotionEvent.ACTION_POINTER_UP -> { ..
        MotionEvent.ACTION_UP -> { ..
    

    タッチポイントの領域情報

    タッチポイントの領域は、楕円で取得することができるので、その向き(orientation)を判定することができる

  • getToolMajor(pointerIndex) 楕円の長い方の長さ(float)
  • getToolMinor(pointerIndex) 楕円の短い方の長さ(float)
  • getOrientation(pointerIndex) 時計回りに楕円の向きを表す。0 radiansは、12時。-PI/2(指の場合は左側を向いている)からPI/2(指の場合は、右側を向いている)で表される。
  • https://developer.android.com/training/gestures/multi

    https://stackoverflow.com/questions/17384983/in-android-what-is-the-difference-between-getaction-and-getactionmasked-in