其实不算是技术难点,但是因为网上没有靠谱的解决方案,也因为快要吃饭了,就在此告诉大家解决方案!
PopupMenu popup = new PopupMenu(this, anchor);用来声明popupmenu, 点进去可发现,它所用的属性
public PopupMenu(@NonNull Context context, @NonNull View anchor, int gravity) { this(context, anchor, gravity, R.attr.popupMenuStyle, 0); }
那解决方案自然想到在attr中声明popupmenuStyle即可,
但是发现声明之后并没有起效,这时候可以一层层看到Android jar包中的属性声明继承父类有两个 value 和value-21
所以只需要在value style 和value-21 style里都做背景设置即可。