为android中的弹出菜单的所选项添加刻度线

时间:2016-05-27 10:48:28

标签: android popupmenu

我为“图像”按钮创建了弹出菜单,并为其应用了一些样式。

如何在用户选择弹出菜单项时减少弹出菜单宽度并添加勾号?

我的代码:

btn_a.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            PopupMenu a_popup = new PopupMenu(getActivity().getApplicationContext(), a_period);
            a_popup.getMenuInflater().inflate(R.menu.popup_a, a_popup.getMenu());

            a_popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {

                @Override
                public boolean onMenuItemClick(MenuItem item) {
                    Toast.makeText(getActivity().getApplicationContext(), "Clicked "+item.getTitle(), Toast.LENGTH_SHORT).show();
                    return true;
                }
            });
            a_popup.show();
        }
    });

1 个答案:

答案 0 :(得分:1)

选择弹出菜单时添加刻度线

您的菜单文件:

 <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single">
        <item android:id="@+id/flat"
              android:checkable="true"
              android:title="Flat" />
        <item android:id="@+id/stadium"
            android:checkable="true"    
              android:title="Stadium" />
        <item android:id="@+id/jazz"
        android:checkable="true"
              android:title="Jazz" />
         <item android:id="@+id/rock"
         android:checkable="true"
              android:title="Rock" />
         <item android:id="@+id/pop"
         android:checkable="true"
              android:title="Pop" />
    </group>
</menu>

在setOnMenuItemClickListener()中写下代码:

popup.getMenu()的getItem(2).setChecked(真);

将选择第3项

要缩小弹出菜单的宽度,您可以使用弹出窗口。请参阅此link