2016-09-16 2 views
-1

Я разрабатываю простую прикладную программу для Android, где круги будут подпрыгивать на экране. Теперь я хотел бы добавить onClick или onClickListener, чтобы пользователи могли взаимодействовать с изображениями. Будучи совершенно новым для разработки Android, я понятия не имею, как это сделать.Как настроить onClick для холста?

Может ли кто-нибудь помочь мне?

Вот большая часть кода:

public class MainActivity extends AppCompatActivity { 

    ArrayList<Circle> circles; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(new MyView(this)); 
    } 

    class MyView extends View { 

     public Paint p; 
     private int w, h; 

     public MyView(Context context) { 
      super(context); 
      p = new Paint(); 
      circles = new ArrayList<>(); 
      circles.add(new Circle(100, Color.GREEN, 150, 200, 8, 8)); 
      circles.add(new Circle(200, Color.BLUE, 500, 500, 4, 7)); 
      circles.add(new Circle(70, Color.RED, 1000, 750, 20, 12)); 
     } 

     @Override 
     protected void onSizeChanged(int w, int h, int oldw, int oldh) { 
      this.w = w; 
      this.h = h; 
      super.onSizeChanged(w, h, oldw, oldh); 
     } 



     @Override 
     protected void onDraw(Canvas canvas) { 

      // Drawing circles using loop and canvas.drawCircle() 

      invalidate(); 
     } 
    } 
} 

ответ

0

использования на onTouchEvent

@Override 
public boolean onTouchEvent(MotionEvent event) { 
switch (event.getAction()) { 
case MotionEvent.ACTION_DOWN: 

case MotionEvent.ACTION_MOVE: 

case MotionEvent.ACTION_UP: 
     } 
} 
  • MotionEvent.ACTION_DOWN Новый сенсорный начал

    MotionEvent.ACTION_MOVE палец перемещение

    MotionEvent.ACTION_UP Finger подошел

    MotionEvent.ACTION_CANCEL Текущее событие было отменено, что-то еще взяли под контроль сенсорного события

    MotionEvent.ACTION_POINTER_DOWN указатель вниз (мульти -touch)

    MotionEvent.ACTION_POINTER_UP Pointer up (multi-touch)

+0

Куда по коду это пойдет? – sumowrestler

+0

теперь см. Отредактированный ответ – sasikumar

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