我为“图像”按钮创建了弹出菜单,并为其应用了一些样式。
如何在用户选择弹出菜单项时减少弹出菜单宽度并添加勾号?
我的代码:
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();
}
});
答案 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