[英]Android How to change Popup Menu Item Background
我正在使用弹出菜单。 我想改变弹出菜单的背景,但没有找到办法。 我不想要警报对话框类型功能。
我有一个按钮,在点击监听器上我初始化一个弹出菜单。
Button btn = (Button) findViewById(R.id.btn);
OnClickListener listener = new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
popup = new PopupMenu(getBaseContext(), v);
popup.getMenuInflater().inflate(R.menu.popup, popup.getMenu());
popup.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem arg0) {
// TODO Auto-generated method stub
return true;
}
});
popup.show();
}
};
btn.setOnClickListener(listener);
在菜单文件夹中我有popup.xml。 我想改变弹出菜单项目的背景(而不是按钮)。我该怎么做?
我用这段代码解决了这个问题:
Context wrapper = new ContextThemeWrapper(getContext(), R.style.PopupMenu);
PopupMenu popupMenu = new PopupMenu(wrapper, v);
参考:blog.stylingandroid.com
也许你可以使用风格。
不确切地知道,但如果你的主题发生了变化,其中一个应该完成这项工作。 将样式背景更改为自定义drawable。
<style name="AppTheme">
<item name="android:listPopupWindowStyle">@style/yourPopupWindowStyle</item>
<item name="android:popupMenuStyle">@style/yourPopupWindowStyle</item>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.