Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.sam.touchdemoprac;
- import android.support.v4.widget.TextViewCompat;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.MotionEvent;
- import android.view.View;
- import android.widget.RelativeLayout;
- import android.widget.TextView;
- public class MainActivity extends AppCompatActivity {
- private TextView tvMessage;
- private RelativeLayout relativeLayout;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- findViews();
- // start here:
- this.relativeLayout.setOnTouchListener(new View.OnTouchListener(){
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- StringBuilder sb = new StringBuilder();
- // get (x,y) coordinate:
- String coordinate = String.format("first pointer: (%.1f,%.1f)%n", event.getX(), event.getY() );
- sb.append( coordinate );
- // get touch state:
- sb.append("touch state: ");
- switch (event.getAction()){
- case MotionEvent.ACTION_DOWN:
- sb.append("ACTION_DOWN\n");
- break;
- case MotionEvent.ACTION_MOVE:
- sb.append("ACTION_MOVE\n");
- break;
- case MotionEvent.ACTION_UP:
- sb.append("ACTION_UP\n");
- break;
- default:
- sb.append("\n");
- break;
- }
- // get total count of touches:
- int pointerCount = event.getPointerCount();
- sb.append("pointer count: " + Integer.toString(pointerCount) + "\n");
- // get each touch's data - ID, axis
- // this include the first one which we already print out above (just keep in mind; not a big deal)
- for (int i = 0; i < pointerCount; i++){
- String dataEachTouch = String.format("pointer: %d: (%.1f,%.1f) %n",
- event.getPointerId(i), event.getY(i), event.getX(i));
- sb.append(dataEachTouch);
- }
- // put the final result onto the TextView object
- tvMessage.setText(sb);
- return true;
- }
- });
- }
- private void findViews() {
- this.tvMessage = (TextView)findViewById(R.id.tvMessage);
- this.relativeLayout = (RelativeLayout)findViewById(R.id.relativeLayout);
- }
- }
Add Comment
Please, Sign In to add comment