Custom Popup Menu Android - Android - Source code demo - AFgame
Monday, 05-12-2016, 6:30 PM
AFgame                                               

Chi sẻ kiến thức lập trình - Các demo và ứng dụng mở


Welcome Guest
Menu
Demo - HTML Hack [3]
Java - Swing [5]
Java - 2D Graphics [1]
Java - IO [3]
Java - Audio [1]
Java - Lập trình mạng [2]
Java - Trí tuệ nhân tạo [7]
Java - Lập Trình Nâng Cao [5]
Java - BT Lập trình mạng [6]
Java - Common [2]
C# [1]
Android [15]
Database [1]
Jsp/Servlet [5]
Application [1]
Tài liệu [3]
Thành viên đăng bài [0]
Nơi dành cho thành viên đăng các bài viết hoàn chỉnh hoặc các câu hỏi
Search
Statistics

Total online: 1
Guests: 1
Users: 0
Custom Popup Menu Android
30-01-2013, 11:40 AM
Popup menu được tùy chỉnh lại sẽ hiển thị trực quan và sinh động hơn nhiều so với mặc định của hđh. Xem hình demo bên dưới


Sau khi tạo project tiến hình copy các resource được đăng trong bài như hình bên dưới.



Giải thích một số thành phần trong resource

horiz_separator.xml làm vết ngăn giữa các menu item trong menu popup hiển thị theo chiều ngang.

action_item_horizontal.xml layout thể hiện cho môt menu item theo chiều ngang của popup menu. Tương tự action_item_vertical.xml thể hiện menu item theo chiều đứng của popup menu. Mỗi item chứa một image icon và một text.

popup_horizontal.xmlpopup_vertical.xml là phần nền dùng chứa các menu item, lần lượt hiển thị theo chiều ngang và đứng.

arrow_down.png và arrow_up.png là các dấu mũi tên lên xuống, sẽ được hiển thị tương ứng với kiểu menu ngang hoặc đứng.

com.popupmenu gói chứa phần quản lý popup menu. Chúng ta sẽ sử dụng nó để hiện một popup menu cụ thể như sau.

public void showMenu(View view){

        ActionItem item1 = new ActionItem(0, "Item 1", getResources().getDrawable(R.drawable.ic_launcher));

        ActionItem item2 = new ActionItem(0, "Item 2", getResources().getDrawable(R.drawable.ic_launcher));

        ActionItem item3 = new ActionItem(0, "Item 3", getResources().getDrawable(R.drawable.ic_launcher));

        final QuickAction mQuickAction = new QuickAction(this, 0);

        mQuickAction.addActionItem(item1);

        mQuickAction.addActionItem(item2);

        mQuickAction.addActionItem(item3);

        //bat su kien khi click vao menu item

        mQuickAction.setOnActionItemClickListener(new QuickAction.OnActionItemClickListener() {

               public void onItemClick(QuickAction source, int pos, int actionId) {

                                    if(pos == 0)

                                           Toast.makeText(MainActivity.this, "Item 1 selected", Toast.LENGTH_SHORT).show();

                                    if(pos == 1)

                                           Toast.makeText(MainActivity.this, "Item 2 selected", Toast.LENGTH_SHORT).show();

                                    if(pos == 2)

                                           Toast.makeText(MainActivity.this, "Item 3 selected", Toast.LENGTH_SHORT).show();

               }

        });

        //hien thi popip menu tai vi tri cua view da click vao

        mQuickAction.show(view);

}

 

Thay final QuickAction mQuickAction = new QuickAction(this, 0);

thành final QuickAction mQuickAction = new QuickAction(this, 1);

để hiển thị popup menu theo chiều thẳng đứng




https://www.dropbox.com/s/b6nmzotr898dkpf/DemoPopupMenu.apk
Apk demo file
Category: Android | Added by: as_fancy | Tags: Demo, Android, afgame, popup menu
Views: 1715 | Rating: 5.0/1
Total comments: 0
Giới Thiệu
Nghe Radio Zing
- Nhiều kênh
- Thêm kênh tùy thích
- Hẹn giờ tắt



Hát karaoke arirang
- Tìm kiếm nhanh chóng
- Hát thoải mái
- Nhạc beat Arirang chính hãng

Copyright AFgame © 2016
Trường ĐH Nông Lâm TP.HCM
Create a free website with uCoz