我想创建一个自定义PopupMenu (能够更改文本颜色、背景和图标)。理想的行为将类似于这个gfy (取自Solid Explorer):
https://gfycat.com/JealousMeanHorsefly

你认为是PopupMenu还是ListPopupWindow?我试图将PopupMenu的样式设置为here,但我只改变了背景色(哦,阴影消失了)。有什么想法如何创建这样一个美丽的对话框吗?
发布于 2016-02-25 13:29:48
我认为最好的方法是通过创建一个自定义对话框来实现它,然后设置它的内容视图。
Dialog d = new Dialog(hostActivity,R.style.customOne);
d.setContentView(yourPopupView);
d.show();您需要更改对话框的样式,如下所示
<style name="customOne" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowSoftInputMode">adjustResize</item>
<item name="android:windowCloseOnTouchOutside">false</item>
</style>希望这能帮上忙。
发布于 2016-02-25 13:16:33
查看这个库:https://github.com/shehabic/Droppy
它允许您创建自定义弹出/下拉菜单。
发布于 2016-02-25 13:38:16
<item name="android:popupMenuStyle">@style/MyPopupMenu</item>
<item name="textAppearanceLargePopupMenu">@style/popupText</item>
<item name="textAppearanceSmallPopupMenu">@style/popupTextSmall</item>在基础theme.You中添加上面的字段可以进一步定制以下样式的文本。
<style name="popupText" parent="TextAppearance.AppCompat.Light.Widget.PopupMenu.Large">
<item name="android:textColor">@color/White</item>
</style>
<style name="MyPopupMenu" parent="Widget.AppCompat.PopupMenu">
<item name="android:popupBackground">@color/popupbackgroundColor</item>
</style>
<style name="popupTextSmall" parent="TextAppearance.AppCompat.Light.Widget.PopupMenu.Small">
<item name="android:textColor">@color/White</item>
</style>还请参考此answer以弹出窗口显示图像。
还可以在工具栏中设置PopupTheme。
https://stackoverflow.com/questions/35628276
复制相似问题