为ListPopupWindow去除阴影

ListPopupWindow默认是有一个阴影效果的,如果需要去除。可以看到ListPopupWindow本身的构造方法。

public ListPopupWindow(@NonNull Context context) {
    this(context, null, R.attr.listPopupWindowStyle);
}

应用了listPopupWindowStyle这个属性,这个默认的style可以在value下面找到


image.png

这个主题的默认属性如下


popupElevation
这个属性在Api21及以上的默认的值是


image.png

所以会有阴影效果出现。如果需要去掉阴影,可以在

value-21

下新建style文件,其实也不一定是21,默认下面也是可以的,但是Elevation是API21才有的属性,会有提示。不太好。

 <style name="listpopstyle">
    <item name="android:popupElevation">0dp</item>
    <item name="android:popupBackground">@color/color_ffffff</item>
</style>

然后在AppTheme下设置

 <item name="listPopupWindowStyle">@style/listpopstyle</item>

全局的ListPopupWindow就都达到了这种效果。其他的更多属性类似。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容