问题标签 [android-statusbar]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 动态改变状态栏背景,同时保持透明
语境
我有一个基本活动,其中包含drawer navigation
来自 android studio 中的示例。我制作了statusbar
透明的,我希望菜单在它下面滑动,让它的颜色像这样溢出到透明度中:
(注意右边的蓝色)
但是在默认情况下,它看起来像这样:
问题
蓝色来自主题 colorPrimaryDark,但是我想动态改变这个颜色,所以我不能依赖主题。有没有办法动态/以编程方式设置颜色?
我尝试过的事情
- 调整装饰视图的颜色;
getWindow().getDecorView().setBackgroundColor(Color.White)
设置状态栏的颜色并使用标志
DRAWS_SYSTEM_BAR_BACKGROUNDS
:if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(Color.BLUE); }
(抱歉编码块不好,它不想听)
这不会使它像第一张图像一样透明,而只是纯色。
- 更改 rootView 的颜色
anyView.getRootView().setBackgroundColor()
XML 文件:root_controller.xml
XML 文件工具栏:
根控制器活动
android - 状态栏颜色不变
我在 Android Studio 中启动了一个默认的导航抽屉项目。之后,我添加了第二个活动。但是在第二个活动的布局中,状态栏是白色的,尽管它具有与colorPrimaryDark
属性正常工作的自动创建的布局相同的主题。
我玩了一会儿,发现一个新创建的主题CustomTheme
具有相同的项目,AppTheme
效果很好。
所以使用android:theme="@style/CustomTheme.NoActionBar"
工作但android:theme="@style/AppTheme.NoActionBar"
没有。更改默认应用程序主题无效。
这是我的styles.xml
那么,你能解释一下这个小事吗?
非常感谢你的帮助!
android - 如何在不使用协调器布局的情况下设置状态栏的颜色?
我对协调器布局的工作方式有点困惑。下面是我的app_bar_news_feed.xml
文件的布局:
这是包含该文件的动作和状态栏颜色相同的文件的布局app_bar_news_feed.xml
,我们可以称之为originalpage.xml
:
但是,当我尝试在另一个页面上创建布局时,这个新页面上的状态栏全是白色,而我的操作栏是我想要的蓝色调。下面是我所拥有的,我们可以称之为newpage.xml
。它不包括app_bar_news_feed.xml
,但我试图将该文件中的一些属性复制到该文件中,如下所示:
我不知道为什么会这样。我能找到的唯一区别是第一个 xml 文件被包装在一段CoordinatorLayout
时间内,而第二个文件在RelativeLayout
. Java 文件只设置操作栏,不设置状态栏的色调。任何想法为什么会发生这种情况?
android - Android以编程方式设置正常状态栏
我一直在使用 Material design 和 CollapsingToolbarLayout 并希望在其中一个片段中使用半透明状态栏。我有带有 AppTheme 的 MainActivity(在 style.xml 中半透明状态栏和覆盖是假的)。我有 Fragment1 和 Fragment2 Fragment1 不应该有半透明状态栏。与primaryDarkColor 一样正常。但是,在 Fragment2 中,我需要以编程方式打开半透明状态栏。我通过这种方式实现了它:
当我再次回到 Fragment1 时,状态栏是隐藏的。我想我应该禁用半透明状态栏 onPause() 或 onStop()。但不知道如何以propromatically方式进行。有什么建议么?
android - How to expand/collapse status bar through ADB?
Is there any way to expand/collapse status bar of Android phone over ADB
?
java - 在棒棒糖之前更改状态栏背景颜色?
在 Lollipop 中,我们可以使用以下方法设置状态栏颜色:http: //developer.android.com/reference/android/view/Window.html#setStatusBarColor(int)
Lollipop 之前的 Android 版本应该使用什么?