- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图以编程方式更改 StatusBar
颜色,但没有成功。我正在使用 MaterialDrawer用于创建抽屉导航的库。
尝试了我在互联网上找到的不同解决方案,但没有一个有效,状态栏总是显示 primaryDark
以编程方式尝试:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(Color.BLUE);
}
还尝试了主题:
if (dark)
setTheme(R.style.AppTheme_Dark_NoActionBar);
else
setTheme(R.style.AppTheme_NoActionBar);
<style name="AppTheme.Dark.NoActionBar" parent="MaterialDrawerTheme">
<item name="android:colorPrimary" tools:targetApi="lollipop">#ffffff</item>
<item name="android:colorPrimaryDark" tools:targetApi="lollipop">#cfcfcf</item>
<item name="android:statusBarColor">#cfcfcf</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="android:colorAccent" tools:targetApi="lollipop">@color/md_black_1000</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="drawerArrowStyle">@style/MaterialDrawer.DrawerArrowStyle.Black</item>
<item name="android:datePickerDialogTheme">@style/DatePickerDialogThemeDark</item>
<item name="android:timePickerDialogTheme">@style/DatePickerDialogThemeDark</item>
</style>
<style name="AppTheme.NoActionBar" parent="AppTheme">
<item name="windowActionBar">false</item>
<item name="android:colorAccent" tools:targetApi="lollipop">@color/primary</item>
<item name="windowNoTitle">true</item>
<item name="android:statusBarColor">@color/colorPrimaryDark</item>
<item name="android:datePickerDialogTheme">@style/DatePickerDialogThemeLight</item>
<item name="android:timePickerDialogTheme">@style/DatePickerDialogThemeLight</item>
</style>
<style name="AppTheme" parent="MaterialDrawerTheme.Light">
<item name="android:colorPrimary" tools:targetApi="lollipop">@color/colorPrimary</item>
<item name="android:colorPrimaryDark" tools:targetApi="lollipop">@color/colorPrimaryDark
</item>
<item name="android:colorAccent" tools:targetApi="lollipop">@color/md_blue_300</item>
<item name="android:windowContentTransitions" tools:targetApi="lollipop">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowDrawsSystemBarBackgrounds" tools:targetApi="lollipop">true</item>
<item name="drawerArrowStyle">@style/MaterialDrawer.DrawerArrowStyle</item>
</style>
最后尝试使用 MaterialDrawer 库的这段代码:
drawer.getDrawerLayout().setStatusBarBackgroundColor(color);
drawer
是 DrawerBuilder
的结果。该应用程序有 2 种原色,具体取决于用户在登录/注册中输入的一些变量。这种颜色是蓝色和白色。该应用程序运行良好,除了 StatusBar 仅使用 primaryDark 着色,即使我使用上面发布的代码也是如此。我可以更改颜色的唯一模式是修改 colorPrimary 或将其放入颜色中:
<color name="materialize_primary_dark">@color/md_red_500</color>
但它会像 primaryDark 一样改变颜色,我必须将其更改为白色模式的白色和蓝色模式的蓝色。
谢谢。
最佳答案
只要您在 View
的根目录中有一个 DrawerLayout
,它有 fitsSystemWindows
标志,StatusBar 颜色将由此 View “稀松布”
。
因此在您的情况下,您可以执行以下操作来动态调整 StatusBar
的颜色:
public void setStatusBarColor(@ColorInt int color){
drawer.getDrawerLayout().setStatusBarBackgroundColor(color);
}
关于android - 无法使用 MaterialDrawer 库更改 StatusBar 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42951527/
我正在使用MaterialDrawer迈克·彭茨 (Mike Penz) 的图书馆。 我制作了一个 AccountHeader,现在想知道如何添加这样的“添加帐户”按钮(见图)。是否已经提供了如何执行
我使用MaterialDrawer迈克·彭茨 (Mike Penz) 的图书馆。 在我的 OnCreate 中,配置文件从 linkedHashMap 添加到抽屉中。选择配置文件后,新选择的配置文件将
我正在尝试弄清楚如何通过https://github.com/mikepenz/MaterialDrawer自定义MaterialDrawer 目前宽度太大。我想用更大的图标缩小宽度以覆盖空间并更改背
这个问题非常具体 https://github.com/mikepenz/MaterialDrawer定制。 我需要按如下方式自定义我的帐户标题: 任何时候都只有一个帐户 点击标题(整个区域)应该给我
所以我尝试为我的 Android 应用构建一个 MaterialDrawer 侧边栏。但是当抽屉打开时,我的应用程序崩溃了……有什么想法吗?我的崩溃日志如下所示: Caused by: java.la
如何在 MaterialDrawer 中创建自定义 DrawerItem(1. 我需要切换 2. 我需要 bool 状态指示器)图书馆? Here MaterialDrawer 作者说,创建自定义 D
我使用了从github下载的material drawer lib项目https://github.com/mikepenz/MaterialDrawer 按照我的代码 final Toolb
如何删除 Mikepenz Material Drawer 空间。我为配置文件菜单和抽屉项目使用了自定义布局。我没有为这些 View 设置边距或填充。我还尝试将 Activity 水平边距设置为 0。
在我的 android 应用程序中,我使用 greeDAO ORM for sqlite。所以我检索了我的类别列表: List categories = articleCategoryDao.que
我怎么放MaterialDrawer ActionBar 上方的菜单?现在,当我打开 MaterialDrawer 菜单时,我的 ActionBar 就在它上面。 CSS 中有类似 Z-index 的
我正在尝试将 mikepenz 的 Material Drawer 添加为第三方项目。我想将它添加为项目的原因(不仅仅是编译为依赖项)以便我可以根据我的要求修改抽屉的 UI。但是我无法成功同步我的 g
我使用MaterialDrawer迈克·彭茨的图书馆。 (版本6.0.0) 我的抽屉包含一个 ExpandableBadgeDrawerItem(ID=1)和一个 secondaryDrawerIte
我使用 Mike Penz 的 MaterialDrawer 并且我遇到了问题。我有 Activity (AppCompat) 和 3 Fragmnts。 Activity 包含所有 fragment
我需要构建自己的 AccountHeaderBuilder 实现。 所以我正在尝试从 MaterialDrawer 扩展一个类图书馆。在 Android Studio 中,我需要如何进行才能做到这一点
我试图以编程方式更改 StatusBar 颜色,但没有成功。我正在使用 MaterialDrawer用于创建抽屉导航的库。 尝试了我在互联网上找到的不同解决方案,但没有一个有效,状态栏总是显示 pri
我正在使用库 MaterialDrawer ( https://github.com/mikepenz/MaterialDrawer )。 我想像 Foursquare 过滤器一样使用右侧的侧边栏作为
我在 expandableItem 中显示徽章。当用户单击该项目时,我希望 expandableItem 中的徽章消失,只在子项目中显示徽章。但是在我的代码中,当我点击时,徽章消失但子项目没有显示。我
我在使用通过 BaseActivity 实现的多个 Activity (不使用 fragment )实现 MaterialDrawer(MikePenz 库)时遇到问题。另外,使用 ButterKni
我正在尝试添加此Library 但是当同步Android Studio项目时出现以下错误.. 错误:(58,13)无法解决:com.mikepenz:materialdrawer:4.3.5 我为此感
我是一名优秀的程序员,十分优秀!