没有ActionBar的Android选项菜单?

时间:2014-04-10 17:38:08

标签: android menu android-actionbar options

我正在寻找的是制作一个选项菜单,但没有ActionBar。在Google音乐应用中,我看到他们有一个选项菜单,没有操作栏。下面是我在Google音乐应用中谈论的内容。

提前谢谢! :) googleplaymusicapp

1 个答案:

答案 0 :(得分:8)

这只是一个简单的popop。您可以在任何视图上执行此操作。在视图上抛出一个图标,如溢出菜单icone,并在其上设置一个点击监听器。

此示例是目录中的设备(智能手机)列表。我用一个对象填充标记,以便我知道用户点击了哪一个。

public void showDeviceMenu(View v) {
    PopupMenu popup = new PopupMenu(this, v);
    popup.inflate(R.menu.cart_device_menu);
    DeviceTag tag = (DeviceTag) v.getTag();
    final String groupId = tag.groupId;
    final String sku = tag.sku;
    final String productId = tag.productId;
    SpannableStringBuilder text = new SpannableStringBuilder(tag.name);

    text.setSpan(new StyleSpan(Typeface.BOLD), 0, text.length(),
            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

    popup.getMenu().findItem(R.id.menu_name).setTitle(text);
    invalidateOptionsMenu();
    popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {

        @Override
        public boolean onMenuItemClick(MenuItem item) {
            switch (item.getItemId()) {
                case R.id.duplicate_device:
                    duplicateDevice(sku, productId);
                    return true;
                case R.id.update_device:
                    updateWirelessItemInCart(sku,groupId);
                    return true;
                case R.id.delete_device:
                    removeItemFromCart(groupId);
                    return true;
                default:
                    return false;
           }
        }

    });
    popup.show();
}