
单击操作栏项时如何添加菜单弹出窗口(请参见屏幕截图)?我希望菜单项显示一个图标。
我尝试过的
为操作栏项设置actionProvider(支持lib v7)。在actionProvider中,为onCreateActionView返回null。在onPrepareSubMenu中,填充子菜单。这适用于Android 2.x,但不适用于Android 4.0,对于Android 2.x,则没有图标。
在actionProvider中,创建一个imageview并单击以显示PopupMenu,但是当我专门使用setIcon进行显示时,弹出菜单没有图标。
我不明白为什么PopupMenu不显示任何图标。我尽可能严格地遵循“官方”代码,但无济于事。
请帮忙!谢谢!
使用popUpMenu->>>关注>
res / menu / horario.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_MudaDia"
android:titleCondensed="Mudar Dia"
android:title="Mudar Dia"
android:icon="@drawable/ic_menu_popup"
android:showAsAction="always">
</item>
Run Code Online (Sandbox Code Playgroud)
活动类
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.clear();
inflater.inflate(R.menu.horario, menu);
super.onCreateOptionsMenu(menu, inflater);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_MudaDia:
View vItem = getActivity().findViewById(R.id.menu_MudaDia);
PopupMenu popMenu = new PopupMenu(getActivity(), vItem);
for (int i = 0; i < diaSemana.length; i++)
{
popMenu.getMenu().add(0, i, i, diaSemana[i]);
}
popMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
DIA = diaSemana[item.getItemId()];
atualizaGUI();
return true;
}
});
popMenu.show();
break;
default:
break;
}
return super.onOptionsItemSelected(item);
}
Run Code Online (Sandbox Code Playgroud)
您可以尝试使用 ImageView 和 TextView 创建布局。在 PopUpWindow 内膨胀该布局(请参阅:http://developer.android.com/reference/android/widget/PopupWindow.html)。
使用 showAsDropDown(View actionBarIcon) 方法在单击操作栏图标时显示菜单。
| 归档时间: |
|
| 查看次数: |
10081 次 |
| 最近记录: |