我有一个Android应用程序,当用户单击视图元素时,我创建一个ListPopupWindow。 ListPopupWindow小部件使用默认主题holo black创建。
final ListAdapter adapter = new ArrayAdapter<ChoiceListItem>(context,
android.R.layout.select_dialog_item, choices);
final ListPopupWindow listPopupWindow = new ListPopupWindow(context);
// ...
listPopupWindow.setAdapter(adapter);
如何更改ListPopupWindow颜色以用作例如全息灯或甚至是文本,项目背景和项目之间的分隔符的自定义颜色?
最好是,我正在寻找使用XML文件的解决方案(即我应该如何编辑主题和样式文件)。
答案 0 :(得分:3)
您应为App的主题定义listPopupWindowStyle。
<style name="AppTheme" parent="...">
<item name="android:listPopupWindowStyle">@style/MyListPopupWindow</item>
</style>
<style name="MyListPopupWindow">
<!-- attributes you want go here -->
</style>
答案 1 :(得分:1)
另一个,我认为,非常简单的方法是用颜色创建drawable并将其设置为背景。
bg_popup_menu.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/bg_work_item_menu"/>
</selector>
和
listPopupWindow.setBackgroundDrawable(
context.getResources().getDrawable(R.drawable.bg_popup_menu));
希望它对某些人有帮助。
答案 2 :(得分:0)
对于背景,您可以使用colorBackground:
<item name="android:colorBackground">@color/your_color</item>