uopspop

Untitled

Sep 28th, 2016
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.69 KB | None | 0 0
  1. package com.example.sam.touchdemoprac;
  2.  
  3. import android.support.v4.widget.TextViewCompat;
  4. import android.support.v7.app.AppCompatActivity;
  5. import android.os.Bundle;
  6. import android.view.MotionEvent;
  7. import android.view.View;
  8. import android.widget.RelativeLayout;
  9. import android.widget.TextView;
  10.  
  11. public class MainActivity extends AppCompatActivity {
  12.     private TextView tvMessage;
  13.     private RelativeLayout relativeLayout;
  14.  
  15.     @Override
  16.     protected void onCreate(Bundle savedInstanceState) {
  17.         super.onCreate(savedInstanceState);
  18.         setContentView(R.layout.activity_main);
  19.         findViews();
  20.         // start here:
  21.         this.relativeLayout.setOnTouchListener(new View.OnTouchListener(){
  22.             @Override
  23.             public boolean onTouch(View v, MotionEvent event) {
  24.                 StringBuilder sb = new StringBuilder();
  25.                 // get (x,y) coordinate:
  26.                 String coordinate = String.format("first pointer: (%.1f,%.1f)%n", event.getX(), event.getY() );
  27.                 sb.append( coordinate );
  28.                 //  get touch state:
  29.                 sb.append("touch state: ");
  30.                 switch (event.getAction()){
  31.                     case MotionEvent.ACTION_DOWN:
  32.                         sb.append("ACTION_DOWN\n");
  33.                         break;
  34.                     case MotionEvent.ACTION_MOVE:
  35.                         sb.append("ACTION_MOVE\n");
  36.                         break;
  37.                     case MotionEvent.ACTION_UP:
  38.                         sb.append("ACTION_UP\n");
  39.                         break;
  40.                     default:
  41.                         sb.append("\n");
  42.                         break;
  43.                 }
  44.  
  45.                 // get total count of touches:
  46.                 int pointerCount = event.getPointerCount();
  47.                 sb.append("pointer count: " + Integer.toString(pointerCount) + "\n");
  48.                 // get each touch's data - ID, axis
  49.                     // this include the first one which we already print out above (just keep in mind; not a big deal)
  50.                 for (int i = 0; i < pointerCount; i++){
  51.                     String dataEachTouch = String.format("pointer: %d: (%.1f,%.1f) %n",
  52.                             event.getPointerId(i), event.getY(i), event.getX(i));
  53.                     sb.append(dataEachTouch);
  54.                 }
  55.  
  56.                 // put the final result onto the TextView object
  57.                 tvMessage.setText(sb);
  58.                 return true;
  59.             }
  60.         });
  61.     }
  62.  
  63.     private void findViews() {
  64.         this.tvMessage = (TextView)findViewById(R.id.tvMessage);
  65.         this.relativeLayout = (RelativeLayout)findViewById(R.id.relativeLayout);
  66.     }
  67. }
Add Comment
Please, Sign In to add comment