2016-02-09 2 views
0

Hy guys, Я пытаюсь запустить этот код. Если пользователь коснется одним пальцем, фон станет черным. Если пользователь поместит следующий (второй) палец, фон станет красным. Первый палец работает, и экран становится черным, но со вторым пальцем ничего не происходит.Multi touch android

public class MulticlickActivity extends AppCompatActivity { 

RelativeLayout background; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_multiclick); 

    background = (RelativeLayout)findViewById(R.id.multiclick_background); 

    findViewById(R.id.multiclick_background).setOnTouchListener(new View.OnTouchListener() { 
     public static final String TAG = "200.MulticlickActivity"; 

     @Override 
     public boolean onTouch(View v, MotionEvent event) { 

      if((event.getAction() == MotionEvent.ACTION_DOWN)||(event.getAction() == MotionEvent.ACTION_POINTER_DOWN)){ 

       Log.d(TAG, "onTouch: " + event.getAction() 
         + " Action index :" + event.getActionIndex()); 

       int pointerIndex = event.getActionIndex(); 

       if (pointerIndex==0) 
       background.setBackgroundColor(Color.BLACK); 

       if (pointerIndex==1) 
        background.setBackgroundColor(Color.RED); 
      } 


      return true; 
     } 
    }); 

} 

}

Большое спасибо

+0

Этот код довольно минимален, но вы прочитали [Обработка жестов с несколькими касаниями] (http://developer.android.com/training/gestures/multi.html) –

+0

Добавлен код к нему. Я посмотрел туда, да. –

+0

Использует ли 'else if (pointerIndex == 1)' исправить что-нибудь? –

ответ

0

я понял это. Вы должны использовать, event.getActionMasked

Смежные вопросы