gpt4 book ai didi

android - 为 DialogFragment 上的导航栏设置颜色

转载 作者:行者123 更新时间:2023-12-04 12:58:58 27 4
gpt4 key购买 nike

我有带有黑色导航栏的夜间主题,样式为 App Theme 参数

<item name="android:navigationBarColor">@color/color_navbar</item>
<item name="android:windowLightNavigationBar" tools:targetApi="o_mr1">false</item>

enter image description here

但是当我显示 DialogFragment 时,导航栏颜色变为白色。它在晚上严重打击眼睛。
我尝试设置 dialogfragment 样式,但对我没有帮助:
public void onCreate(Bundle savedInstanceState) {
setStyle(DialogFragment.STYLE_NO_TITLE, R.style.Theme_AppCompat_DayNight_Dialog);
super.onCreate(savedInstanceState);
}

结果是白色的:
enter image description here

我的基本应用风格是 Theme.MaterialComponents.DayNight.NoActionBar我在android Q上测试它。
那么在对话框 fragment 上自定义导航栏颜色的方法是什么?或者,如果有办法在显示对话框 fragment 时不更改导航栏颜色并使用显示此对话框的 Activity 的颜色,则更好。

最佳答案

这对我有用:

window?.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS)
window?.navigationBarColor = ContextCompat.getColor(activity, R.color.navigation_bar_color)
在设置 navigationBarColor 之前,您需要添加标志。 FLAG_DRAW_SYSTEM_BAR_BACKGROUNDS,
enter image description here

关于android - 为 DialogFragment 上的导航栏设置颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62012035/

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