HomeLập trình Android căn bản

Menu trong Android

Menu trong Android
Like Tweet Pin it Share Share Email

Tìm hiểu về Menu trong Android

Menu là thành phần thông dụng trong ứng dụng trên tất cả các nền tảng không chỉ riêng Android. Từ phiên bản 3.0 (API 11) Android cung cấp cho chúng ta cách thức trình bày menu đơn (không cần nút menu vật lý) thay cho bảng điều khiển 6 thành phần như các phiên bản API trước đó.

Giao diện menu trên các phiên bản Android < 3.0
Giao diện menu trên các phiên bản Android < 3.0

Kể từ Android 3.0 trở về sau, Android sử dụng Action Bar để thể hiện các thao tác trên menu. Mặc dù có sự thay đổi về thiết kế cũng như cách sử dụng nhưng cách tạo menu, định nghĩa hành động menu và các tùy chọn trên menu vẫn dựa trên các API Menu.

Cách tạo menu trong android

Xem thêm:

Có hai cách tạo menu trong Android, một là tạo bằng XML Resource hai là tạo bằng cách code trực tiếp trong file Java.

Tạo Menu bằng XML resource

Trên Android Studio, chuột phải vào thư mục res > New > Android resource file. Sẽ xuất hiện bảng New Resource File như hình dưới.

screen-shot-2016-10-25-at-8-01-21-am

  • File name: Đặt tên cho menu của bạn (ở ví dụ này mình đặt là main_menu)
  • Resource type: Chọn kiểu Menu

Sau đó nhấn OK để tạo Menu.

Tạo các item cho menu.

Nhấn vào main_menu.xml (res/menu/main_menu.xml) và code như sau:

Giải thích code: Đoạn code ở trên mình tạo ra hai Menu Item và hai Sub-Menu Item.

Hai Menu Item là “Thông tin ứng dụng” và “Liên hệ”

Hai Sub_Menu Item nằm trong Menu Item “Liên hệ” là “Nhà phát triển” và ” Quảng cáo”

Nghĩa là khi nhấn vào “Thông tin ứng dụng” thì sẽ đưa đến sự kiện mà bạn đã lập trình cho nó, còn khi nhấn vào “Liên hệ” thì sẽ đưa ra hai lựa chọn nữa là “Nhà phát triển” và ” Quảng cáo”.

Hiển thị Menu vừa tạo lên ứng dụng như thế nào?

Sau khi tạo thành công menu thì ứng dụng chưa thể hiển thị menu lên, mà chúng ta cần phải code thủ công.

Trong MainActivity.java bạn code như sau:

Chạy thử ứng dụng và kiểm tra menu

screen-shot-2016-10-25-at-9-36-21-am
Vị trí menu (Nhấn vào dấu 3 chấm sẽ hiển thị menu)

 

screen-shot-2016-10-25-at-9-36-36-am
Có 2 Menu chính

 

screen-shot-2016-10-25-at-9-37-08-am
Trong “Liên hệ” có 2 menu phụ
Bắt sự kiện khi nhấn vào Item trên menu

Việc tạo menu như vậy là để phục vụ mục đích nào đó khi bạn nhấn vào menu, như vậy bạn cần bắt sự kiện cho menu khi nhấn vào một item nào đó.

Trong MainActivity.java code như sau:

Giải thích code: Chúng ta sẽ dùng id của item trên menu để xử lý (tương tự như Button). Như các bạn thấy mình không xử lý xự kiện cho menu “Liên hệ” bởi vì trong “Liên hệ” có 2 Sub-Menu nên chỉ xét xự kiện cho 2 Sub-Menu mà thôi.

Kiểm tra menu đã hoạt động chưa.

screen-shot-2016-10-25-at-9-36-56-am
Khi nhấn sẽ show ra thông báo Toast

Ok, như vậy là menu đã hoạt động.

Tạo Menu bằng Coding

Như đã giới thiệu bên trên, chúng ta có thể tạo menu bằng 2 cách là tạo bằng XML Resource hai là tạo bằng cách code trực tiếp trong file Java.

Cách tạo menu bằng Coding đơn giản hơn so với tạo bằng XML Resource.

Trong ActivityMain.java code như sau:

Chạy thử ứng dụng và xem kết quả nhé.

Qua bài viết mình vừa giới thiệu 2 cách tạo menu trong lập trình Android, chúc các bạn thành công.

Download source code demo: Tại đây.

Minh Nhựt
Follow me

Minh Nhựt

Quản trị viên at Nhựt Studio
Viết blog part-time trên Nhựt Studio, hiện là sinh viên, thích lập trình, yêu moto.
Blog này đơn giản là nơi chia sẽ những gì mình đang tìm hiểu. Cảm ơn các bạn đã theo dõi trong suốt thời gian qua.
Minh Nhựt
Follow me

Comments (2)

  • add cho mình hỏi muốn thay đổi background của menu làm thế nào ạ? menu mình làm được roài xong màu nền nó màu đen trông không chẹp mình muốn đổi màu nền nó mà tìm mãi anh google ko thấy. add chỉ dùm mình với! thank’s!

  • Cái này bạn có thể tùy biến trong style.xml, cụ thể là thuộc tính android:itemBackground nhé.

Trả lời

Your email address will not be published.