Thứ Năm , Tháng Mười Hai 14 2017
Lập trình android / VIDEO BÀI GIẢNG / Lập trình Android / [Android cơ bản] 17b. Tìm hiểu về Drag và Drop (tiếp)

[Android cơ bản] 17b. Tìm hiểu về Drag và Drop (tiếp)

Lớp DragEvent

DragEvent đại diện cho một event được gửi đi bởi hệ thống nhiều lần trong lúc drag & drop đang hoạt động. Lớp này sẽ cung cấp một vài hằng số và những phương thức quan trọng mà chúng ta sẽ sử dụng trong quá trình drag/drop.

Hằng số

Dưới đây là tất cả các hằng số khả dụng cho lớp DragEvent

Sr.No. Hằng số và mô tả
1 ACTION_DRAG_STARTED

Báo hiệu quá trình Drag & Drop bắt đầu.

2 ACTION_DRAG_ENTERED

Báo hiệu cho View biết rằng điểm drag đã được nhập vào trong bounding box của view

3 ACTION_DRAG_LOCATION

Gửi tới một view sau ACTION_DRAG_ENTERED nếu drag shadow vẫn còn ở trong bounding box của đối tượng View

4 ACTION_DRAG_EXITED

Dấu hiệu cho thấy người dùng đã di chuyển drag shadow ra khỏi bounding box của View

5 ACTION_DROP

Dấu hiệu tới View cho thấy người dùng đã giải phóng drag shadow ra khỏi bounding box của View

6 ACTION_DRAG_ENDED

Dấu hiệu tới view cho thấy đã bao gồm quá trình drag & drop.

Phương thức

Sau đây là một vãi phương thức quan trọng được sử dụng nhiều như là một phần của lớp DragEvent trong lập trình Android căn bản.

Sr.No. Hằng số và Mô tả
1 int getAction()

Kiểm tra giá trị action của event này

2 ClipData getClipData()

Trả về đối tượng ClipData đã gửi tới hệ thống như là một phần của việc gọi startDrag()

3 ClipDescription getClipDescription()

Trả về đối tượng ClipDescription đã bao gồm trong ClipData

4 boolean getResult()

Trả về một thông báo kết quả của quá trình drag & drop

5 float getX()

Lấy tọa độ X của điểm kéo

6 float getY()

Lấy tọa độ Y của điểm kéo

7 String toString()

Tả về một chuỗi đại diện cho đối tượng DragEvent này

Listening cho Drag Event

Nếu bạn muốn bất kì một view nào của bạn với một layout phản hồi lại Drag event sau đó view của bạn sẽ thực thi View.OnDragListener hoặc cài đặt phương thức callback onDragEvent(DragEvent). Khi mà hệ thống gọi một phương thức hay listener, nó sẽ truyền qua chúng một đối tượng DragEvent như đã giải thích ở trên. Bạn có thể có cả Listener lẫn phương thức callback cho đối tượng View. Nếu như điều này xảy ra, hệ thống sẽ gọi Listener đầu tiên và sau đó xác định callback miễn là Listener trả về true.

Sự kết hợp giữa phương thức onDragEvent(DragEvent) và View.OnDragListener tương tự với sự kết hợp giữa onTouchEvent() và View.OnTouchListener sử dụng với các event touch trong phiên bản cũ của Android.

Bắt đầu một Drag Event

Bạn bắt đầu với việc tạo một ClipData và ClipData.Item cho dữ liệu đang được di chuyển. Như là một phần của đối tượng ClipData, cung cấp metadata được lưu trong đối tượng ClipDescription với ClipData. Để phục vụ cho quá trình Drag & Drop mà không thể hiện ra việc di chuyển của dữ liệu, bạn có thể sẽ muốn sử dụng null thay vì một đối tượng rõ ràng.

Tiếp theo hoặc là bạn sẽ mở rộng View.DragShadowBuilder để tạo một drag shadow cho việc kéo view hoặc đơn giản bạn có thể sử dụng View.DragShadowBuilder(View) để tạo một drag shadow mặc định có cùng kích cỡ với đối số truyền qua nó, với một điểm chạm ở giữa drag shadow.

 

[Total: 0    Average: 0/5]

Bạn nên xem

[Android cơ bản] 19b. Lấy vị trí hiện tại

Để lấy vị trí hiện tại, hãy tạo một client location là đối tượng LocationClient, kết …

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Facebook chat Vietpro