前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android BottomSheetDialog设置背景透明无效?(解决)

Android BottomSheetDialog设置背景透明无效?(解决)

作者头像
晨曦_LLW
发布2021-08-25 16:26:50
1.6K0
发布2021-08-25 16:26:50
举报
文章被收录于专栏:Android、鸿蒙开发

BottomSheetDialog修改背景圆角

这里记录一个实际开发过程中遇到的问题,在日常开发中遇到底部弹窗的时候我会第一时间用到BottomSheetDialog,常规的使用就是有一个默认从底部出现的弹窗,但是为了美观,通常会使用圆角,来设置,比如这样。

很简单的布局

然后代码中设置一下。

代码语言:javascript
复制
	BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(this);
    View dialogView = getLayoutInflater().inflate(R.layout.layout_dialog,null,false);
    bottomSheetDialog.setContentView(dialogView);
    bottomSheetDialog.getWindow().findViewById(R.id.design_bottom_sheet).setBackgroundColor(Color.TRANSPARENT);
    bottomSheetDialog.show();

这是常规的操作,在之前我一直是这么使用的,然后运行时也没有问题,但是在最近的一次使用中,我发现设置的圆角无效,我用的是白色圆角,这个BottomSheetDialog默认的布局背景色也是白色,通过代码设置为透明,结果发现无效果,如下图这样。

解决方法

为了解决这个问题,增加一个样式,在styles.xml中增加如下样式代码:

代码语言:javascript
复制
	"BottomSheetDialogStyle"</span> parent=<span class="token string">"Theme.Design.BottomSheetDialog"</span>>
        <item name=<span class="token string">"android:windowFrame"</span>>@null</item>
        <item name=<span class="token string">"android:windowIsFloating"</span>>true</item>
        <item name=<span class="token string">"android:windowIsTranslucent"</span>>true</item>
        <item name=<span class="token string">"android:background"</span>>@<span class="token property">android</span><span class="token punctuation">:</span>color/transparent</item>
        <item name=<span class="token string">"android:backgroundDimEnabled"</span>>true</item>

在创建BottomSheetDialog传入这个样式。

再运行一下:

这样就没有白色的背景色了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/07/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • BottomSheetDialog修改背景圆角
  • 解决方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档