我使用此代码
创建了上下文菜单 @Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
{//local=v;
super.onCreateContextMenu(menu, v, menuInfo);
info = (AdapterContextMenuInfo) menuInfo;
menu.add(Menu.NONE, v.getId(), 0, "Play");
menu.add(Menu.NONE, v.getId(), 0, "Queue song");
menu.add(Menu.NONE, v.getId(), 0, "Edit tags");
menu.add(Menu.NONE, v.getId(), 0, "Set as ringtone");
menu.add(Menu.NONE, v.getId(), 0, "View details");
menu.add(Menu.NONE, v.getId(), 0, "Delete");
}
但我的菜单看起来不像下面那个............. 我不知道我怎么能改变上下文菜单的颜色等?还有出现的紫色线,是一个九个补丁图像???
答案 0 :(得分:4)
您可以使用AlertDialog
来实现任何自定义上下文菜单。通过
AlertDialog.Builder.setCustomTitle(View customTitleView) & AlertDialog.Builder.setView(View view)
您可以收听长按事件,然后弹出此对话框。
答案 1 :(得分:2)
我对你的问题感到困惑,如果我错了,请纠正我,
案例1:您只想将标题设置为您粘贴的第二张图片。为此,你必须setTitle()
喜欢menu.setHeaderTitle("Select Option");
,
所以,整个代码应该是这样的,
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
{//local=v;
super.onCreateContextMenu(menu, v, menuInfo);
info = (AdapterContextMenuInfo) menuInfo;
menu.setHeaderTitle("Select Option");
menu.add(Menu.NONE, v.getId(), 0, "Play");
menu.add(Menu.NONE, v.getId(), 0, "Queue song");
menu.add(Menu.NONE, v.getId(), 0, "Edit tags");
menu.add(Menu.NONE, v.getId(), 0, "Set as ringtone");
menu.add(Menu.NONE, v.getId(), 0, "View details");
menu.add(Menu.NONE, v.getId(), 0, "Delete");
}
案例2:您正在询问其他一些主题。在这种情况下,您应该使用其他上下文菜单主题。
案例3 :您完全想要更改用户界面,并且想要创建自己的用户界面。在这种情况下,您应该create custom dialog并使用上下文菜单。