之前我提到了PopupMenu这个系统自带的控件,当我们调用它的时候会发现界面无比的丑陋。想要改变它的样式除了自定义一个popupWindow来改变布局(这个有点复杂)。还有简单的方法就是在你要调用popupMenu的这个类中添加个自定义style,你就能改变popupmenu的背景;字体的颜色、位置、大小;分割线的高度和颜色。
比如说我要在MainActivity调用popupmenu就如下图设置style。
在styles里面设置
<style name="mainStyle" parent="AppTheme">
<item name="android:popupMenuStyle">@style/popmenuStyle</item>
<item name="android:dropDownListViewStyle">@style/popmenuDivier</item>
<item name="android:textAppearanceSmallPopupMenu">@style/popmeuText</item>
<item name="android:textAppearanceLargePopupMenu">@style/popmeuText</item>
</style>
<!--popMenu的Style-->
<style name="popmenuStyle" parent="@android:style/Widget.PopupMenu">
<item name="android:popupBackground">@color/black</item><!-- popMenu的背景色-->
</style>
<!--popmenu的字体颜色-->
<style name="popmeuText">
<item name="android:textColor">@color/white</item>
<item name="android:textSize">20sp</item>
<item name="android:gravity">center</item>
</style>
<!--popMenu分割线的颜色-->
<style name="popmenuDivier">
<item name="android:divider">@color/blueSky</item>
<item name="android:dividerHeight">2sp</item>
</style>
效果图: