2017-02-22 8 views
1

レイアウトやビューにリスナーを追加する方法はありますか?ユーザーが画面に触れるとカウントが追加されます。アンドロイドデバイスでサポートされている最大タッチ数を確認するには

tvTouchCount.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      int count = 0; 
      switch (event.getAction()) { 
       case MotionEvent.ACTION_DOWN: 
        count = count + 1; 
        if (count > maxCount) 
         maxCount = count; 
        tvTouchCount.setText("Max Count=" + maxCount); 
        return false; 
       case MotionEvent.ACTION_UP: 
        count = count - 1; 
        return false; 
       default: 
        return false; 
      } 
     } 
    }); 

ような何か私はパッケージマネージャから詳細を取得しようとしましたが、それは2サポートしている場合ということは、私だけを伝え、2-5、および5+独立しtouchsはなく、正確な数

+0

はいOnTouchListenerは、任意のビュー –

+0

可能な複製にも適用することができます(http://stackoverflow.com/questions/11690504/how-to-use-view- [代わりのonClickのView.OnTouchListenerを使用する方法] ontouchlistener-instead-of-onclick) –

+0

私の質問は、ontouchリスナを使用する方法ではなく、デバイス上でサポートされている最大の独立したタッチの正確な数を得ることです。 – callMeRoka

答えて

0

することができますモーションイベントからポインタ数を取得します。

new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     int pointersCount = event.getPointerCount() 
    } 
} 

使用可能な最大タッチ数については、PackageManagerで確認できます。

PackageManager packageManager = context.getPackageManager() 
if (packageManager.hasSystemFeature(FEATURE_TOUCHSCREEN_MULTITOUCH)) { 
    //The device's supports basic two-finger gesture detection. 
} 

if (packageManager.hasSystemFeature(FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT)) { 
    //The device's capable of tracking two or more fingers fully independently. 
} 

if (packageManager.hasSystemFeature(FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND)) { 
    //The device's is capable of tracking a full hand of fingers fully independently. 
    //that is, 5 or more simultaneous independent pointers. 
} 
関連する問題