gpt4 book ai didi

java - 为什么 BottomSheetDialog 将状态栏变为黑色?

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:39 27 4
gpt4 key购买 nike

我在 Activity 的 onCreate() 方法中实现了一个 Bottom Sheet ,如下所示:

bottomSheet = new BottomSheetDialog(this);
bottomSheet.setContentView(getLayoutInflater().inflate(R.layout.bottom_sheet, null));
bottomSheet.show();

我的 Activity 扩展了 AppCompatActivity 并且在其中有一个 TabLayoutViewPager.. 几乎是一个使用 Material Design 的标准 UI。

我遇到的问题是,当 show() 被调用时,状态栏立即变黑,给原本流畅的 Bottom Sheet 单展开动画增加了跳动感,更不用说改变应用的配色方案。

我希望状态栏保持与我的主题相关的默认颜色,并随着 Bottom Sheet 的展开而平滑地变暗。

我已经做了很多搜索,但未能找到具体的解决方案。

有什么想法可能导致此问题以及我可以采取哪些步骤(如果有的话)来修复它?

黑色状态栏(为简单起见删除了 UI 内容) Black Status Bar (UI content removed for simplicity)

最佳答案

在您的 styles.xml 中添加以下内容:

 <style name="BottomDialogTheme" parent="Theme.Design.Light.BottomSheetDialog">
<item name="android:windowTranslucentStatus">true</item>
</style>

然后您可以将其添加到您的对话框中:

bottomSheet.setStyle(DialogFragment.STYLE_NORMAL, R.style.BottomDialogTheme);

For devices > API 20 这有效并平滑过渡到我的状态栏的较暗阴影。希望能帮助到你。

关于java - 为什么 BottomSheetDialog 将状态栏变为黑色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40134260/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com