Pages - Menu

Thứ Sáu, 13 tháng 5, 2016

Tạo Context Menu trong Android Studio


Ở bài trước mình đã hướng dẫn cách để tạo một OptionMenu và  trong bài này mình sẽ hướng dẫn các bạn cách tạo ra một Context Menu (Menu ngữ cảnh) trong Android như thế nào.

- ContextMenu là một trong những công cụ rất hữu ích do Android cung cấp , khác với OptionMenu thì chúng ta cần phải đăng ký ContextMenu cho những đối tượng mà khi nhấn và giữ lâu(long-click) vào đối tượng đó thì ContextMenu sẽ được tạo ra và hiển thị.

- Trong bài này mình sẽ tạo một ContextMenu hiển thị khi long-click vào TextView để đổi màu chữ.
Đầu tiên tạo file xml giao diện như thế này : 



- Sau đó các bạn tạo một file menu resource trong thư mục res->menu (ở đây mình tạo file menu tên mycontextmenu.xml). Tạo các items tương ứng với các màu muốn đổi : 



- Sau  khi menu rồi chúng ta chuyển qua MainActivity.java để đăng ký ContextMenu cho TextView vừa tạo ra và thực hiện sự kiện onCreateContextMenu() để tùy chỉnh lại menu đó :





-  Dùng hàm getMenuInflater() để tạo ra một MenuInflater, sau đó inflate(R.menu.mymenucontext, menu) tham số thứ nhất là file menu resource chúng ta đã tạo trong thư mục res-menu , tham số thứ hai là ContextMenu được tao ra khi long-click vào TextView. 

-Tiếp theo ta gán sự kiện OnContextItemSelected() để đổi màu chữ khi click vào các Items.




- Hàm onContextItemSelected() có một tham số là Item được click, dùng hàm getItemId() để lấy ra Id của Item đó và ta dùng Switch/case để so sánh tìm xem Item được click là Item nào và dùng hàm setTextColor() để đổi màu chữ.

- Sau khi hoàn thành chúng ta sẽ tạo được menu thế này khi long-click vào TextView.


- Chọn Item BLUE chữ đổi sang màu xanh!



Vậy là chúng ta đã tạo xong một ContextMenu trong Android rất đơn giản. Good Look!

Không có nhận xét nào:

Đăng nhận xét