Xem mẫu

Ver 1.0 – 2016, FIT - HCMUP

Lab 05: MENU
Tham khảo: developer.android.com/guide/topics/ui/menus.html

1 Tạo menu bằng XML resource

Gõ nội dung menu:

Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM

1

Ver 1.0 – 2016, FIT - HCMUP

Lab 05: MENU

Viết code gọi menu trong MainActivity:

Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM

2

Ver 1.0 – 2016, FIT - HCMUP

Lab 05: MENU

@Override
public boolean onCreateOptionsMenu(Menu menu) {
return super.onCreateOptionsMenu(menu);
}
Sửa lại thành:

Xử lý sự kiện click lên Menu Item:
Override phương thức onOptionsItemSelected
@Override
public boolean onOptionsItemSelected(MenuItem item) {
//dựa theo id menuitem đang chọn
switch(item.getItemId())
{
case R.id.item_xemdssv:
Toast.makeText(MainActivity.this, "Bạn chọn Xem Danh
sách Sinh viên", Toast.LENGTH_LONG).show();
break;
Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM

3

Ver 1.0 – 2016, FIT - HCMUP

Lab 05: MENU

//vâng vâng cho những menuitem khác
}
return super.onOptionsItemSelected(item);
}

2 Tạo menu bằng code
Sử dụng code lúc Runtime để tạo Menu thay vì dùng XML Resource.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Menu 1");
menu.add("Menu 2");
SubMenu submenu3= menu.addSubMenu("Menu 3");
submenu3.add("SubMenu 1.3");
submenu3.add("SubMenu 2.3);
submenu3.add("SubMenu 3.3");
return true;
}
Với cách làm như trên sẽ gặp khó khăn khi xác định ID của MenuItem.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Đối số 1 là nhóm
//Đối số 2 là Id cho Menu Item
//Đối số 3 là thứ tự xuất hiện của Menu Item
//Đối số 4 là tiêu đề cho Menu Item
int itemId = 1000;
menu.add(0, itemId, 0, "Thể thao");
itemId = 1001;
menu.add(0,itemId, 1, "Tin tức");
SubMenu sub3= menu.addSubMenu(0, itemId, 2, "Danh mục Tin
tức");
itemId = 1002;
sub3.add(0, itemId, 0,"VNExpress");
itemId = 1003;
sub3.add(0, itemId, 1,"ZING");
itemId = 1004;
sub3.add(0, itemId, 2,"Tuổi trẻ");
return true;
}
Và xử lý sự kiện click lên Menu Item:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM

4

Ver 1.0 – 2016, FIT - HCMUP

Lab 05: MENU

//dựa theo id menuitem đang chọn
switch(item.getItemId())
{
case 1004://TuoiTre
startActivity(new Intent(Intent.ACTION_VIEW,
Uri.parse("http://tuoitre.vn")));
break;
//vâng vâng
}
return super.onOptionsItemSelected(item);
}

3 Popup Menu
3.1

Xây dựng Menu Resource

3.2

Thiết kế giao diện

3.3

Source xử lý

btnShowPopUp = (Button)findViewById(R.id.btnShowPopUp);
btnShowPopUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
PopupMenu popupMenu = new PopupMenu(MainActivity.this,
Ths. Lương Trần Hy Hiến, KHOA CNTT – TRƯỜNG ĐH SƯ PHẠM TP. HCM

5

nguon tai.lieu . vn