是否可以为Android中的每个弹出菜单项创建自定义布局?我为列表视图夸大了自定义布局,但是我在弹出菜单项时遇到了一些麻烦。
我有这段代码(已经删除了一些对这个问题不够具体的行)。
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
MenuInflater inflater = getMenuInflater();
View menu_hotlist;
inflater.inflate(R.menu.menu_alert, menu);
menu_hotlist = menu.findItem(R.id.menuItem).getActionView();
menu_hotlist.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showProfileMenuPopup(v);
}
});
return true;
}
public void showProfileMenuPopup(View v) {
PopupMenu popup = new PopupMenu(Home.this, v);
for(int index = 0; index < list.size(); index++)
{
Menu menu = popup.getMenu();
menu.add(Menu.NONE, index, index + 1, text);
MenuItem item = menu.getItem(index);
item.setActionView(R.layout.custom);
TextView t1 = (TextView) item.getActionView().findViewById(R.id.textView);
t1.setText(text);
}
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent1 = new Intent(Activity1.this, Activity2.class);
intent1.putExtra("key", value);
startActivity(intent1);
finish();
return true;
}
});
popup.show();
}
item.setActionView(R.layout.custom)
似乎对弹出菜单项的自定义布局没有任何影响,可能是我没有正确使用它或错过了一些代码行?请帮忙。
我搜索过Stack Overflow,但它只讨论了操作栏菜单项的自定义布局,但没有弹出菜单项。
提出问题的时间早于要求,以便人们有足够的时间来回答问题。
我正在尝试为不同组中的弹出菜单项获取不同的背景颜色,但无法更改特定的项目顺序(如在电子邮件中)。是否有一种简单的方法可以更改弹出菜单项的背景颜色?
使用spannable字符串可以格式化弹出菜单项中的文本,但背景颜色仅针对文本而不是整个弹出菜单项进行更改。
在HTML模式下使用背景颜色文本也无济于事。
使用ContextWrapper ctw = new ContextThemeWrapper(Activity.this, R.style.custom)
对弹出菜单项没有任何影响。
或者是否需要使用某段代码覆盖OnPrepareOptionsMenu(Menu menu)
函数?
请帮助我在弹出菜单项上夸大自定义布局,以便它在一般情况下(将来)足够有用。
当然还有其他选择,而不是使用弹出式菜单项,但它们对我的工作来说根本不够令人印象深刻!
创建弹出对话框,其中包含自定义布局。只要在操作栏中的菜单项上单击其他任何地方的活动,弹出对话框就会被解除。
创建弹出菜单项的子菜单,其中所有这些项都属于与其他弹出菜单项组不同的组。
提前谢谢。