1. Trang chủ
  2. » Thể loại khác

gesture trong android

11 121 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 381,37 KB

Nội dung

gesture trong android tài liệu, giáo án, bài giảng , luận văn, luận án, đồ án, bài tập lớn về tất cả các lĩnh vực kinh t...

http://vietjack.com/android/index.jsp                                                                                                              Copyright  ©  vietjack.com     Gesture Android Android cung cấp nhiều kiểu kiện touch thao tác vuốt, kéo, thả, chạm, … Chúng biết với tên gọi Gesture, nói phần hay Smartphone Android cung cấp lớp GestureDetector để thu nhận kiện di chuyển nói cho kiện tương ứng với Gesture khơng Để sử dụng nó, bạn cần tạo đối tượng GestureDetector sau kế thừa lớp khác vớiGestureDetector.SimpleOnGestureListener để hoạt động Listener ghi đè số phương thức Cú pháp sau: − GestureDetector myG; myG = new GestureDetector(this,new Gesture()); class Gesture extends GestureDetector.SimpleOnGestureListener{ boolean onSingleTapUp(MotionEvent ev) { } public void public onLongPress(MotionEvent ev) { } public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { } public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { } } } Xử lý Pinch Gesture Android cung cấp lớp ScaleGestureDetector để xử lý Gesture pinch, … Để sử dụng nó, bạn cần khởi tạo đối tượng lớp Cú pháp là: − ScaleGestureDetector SGD; SGD = new ScaleGestureDetector(this,new ScaleListener()); Tham số ngữ cảnh tham số thứ hai Event Listener Chúng ta phải định nghĩa Event Listener ghi đè hàm OnTouchEvent Cú pháp sau: − public boolean onTouchEvent(MotionEvent ev) { SGD.onTouchEvent(ev); return true; } private class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener { @Override public boolean onScale(ScaleGestureDetector detector) { float scale = detector.getScaleFactor(); return true; } } Ngồi Pinch Gesture, có số phương thức khác để thơng báo kiện touch khác Đó là: − http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/android/index.jsp                                                                                                              Copyright  ©  vietjack.com     Stt Phương thức & Miêu tả getEventTime() Phương thức lấy thời gian kiện kiện xử lý getFocusX() Phương thức lấy tọa độ X tiêu điểm Gesture getFocusY() Phương thức lấy tọa độ Y tiêu điểm Gesture getTimeDelta() Phương thức trả khác thời gian scale event trước scale event sau isInProgress() Phương thức trả true scale gesture tiến hành onTouchEvent(MotionEvent event) Phương thức chấp nhận MotionEvents gửi kiện thích hợp Ví dụ Ví dụ sau minh họa sử dụng lớp ScaleGestureDetector Nó tạo ứng dụng để bạn phóng to thu nhỏ thơng qua Pinch Gesture Để thử nghiệm ví dụ này, bạn cần chạy thiết bị thật Emulator với kiện touch hình kích hoạt Sau nội dung Main Activity file sửa đổi: src/MainActivity.java package com.example.sairamkrishna.myapplication; import android.app.Activity; import android.content.Intent; import android.content.IntentFilter; import android.graphics.Bitmap; import android.graphics.Matrix; import android.os.BatteryManager; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.ScaleGestureDetector; http://vietjack.com/                                                                                                                              Trang  chia  sẻ  các  bài  học  online  miễn  phí  Page  1   http://vietjack.com/android/index.jsp                                                                                                              Copyright  ©  vietjack.com     import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import java.util.ArrayList; import java.util.Set; public class MainActivity extends Activity { private ImageView iv; private Matrix matrix = new Matrix(); private float scale = 1f; private ScaleGestureDetector SGD; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv=(ImageView)findViewById(R.id.imageView); SGD = new ScaleGestureDetector(this,new ScaleListener()); } public boolean onTouchEvent(MotionEvent ev) { SGD.onTouchEvent(ev); return true; } private class ScaleListener extends ScaleGestureDetector SimpleOnScaleGestureListener { @Override public boolean onScale(ScaleGestureDetector detector) { scale *= detector.getScaleFactor(); 5.0f)); scale = Math.max(0.1f, Math.min(scale, matrix.setScale(scale, scale); iv.setImageMatrix(matrix); return true; } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml int id = item.getItemId(); //noinspection SimplifiableIfStatement { return true; } super.onOptionsItemSelected(item); if (id == R.id.action_settings) return } } Bạn sửa đổi nội dung res/layout/activity_main.xml Và nội dung res/values/string.xml

Ngày đăng: 02/12/2017, 07:09

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN