Android Studio - 如何拥有一个透明的状态栏?
Android Studio - How to have a transparent status bar?
描述:
这是一个在此站点上提出的问题,但答案对我没有帮助。我只需要使状态栏透明,这就是我发现的:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
我已经试过了,它确实有效,但它也使底部操作栏变得透明(对于底部操作栏,我的意思是:)
如何只让顶部状态栏透明?
感谢阅读
您可以创建自定义主题来设置状态栏颜色。它适用于版本 21 及更高版本:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- You can customize it by changing statusBarColor. -->
<item name="android:statusBarColor">@color/pieces_cherry</item>
</style>
并且在您的清单中,您需要将其设置为您的应用主题
您可以检查 这个 post,因为它似乎正是您要找的东西。
不想在此处再次键入所有内容,但如果不满足所有条件,@Yunus 的回答可能无效,主要是 statusBarColor 的文档告诉您的内容。
The color for the status bar. If the color is not opaque, consider setting {@link android.view.View#SYSTEM_UI_FLAG_LAYOUT_STABLE} and {@link android.view.View#SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN}. For this to take effect, the window must be drawing the system bar backgrounds with {@link android.R.attr#windowDrawsSystemBarBackgrounds} and the status bar must not have been requested to be translucent with {@link android.R.attr#windowTranslucentStatus}. Corresponds to {@link android.view.Window#setStatusBarColor(int)}.
参考答案以设置那些必需的标志和样式,同时保持导航栏简单地不要添加 View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
标志,以防你在某些代码中有它。
祝你好运。
描述:
这是一个在此站点上提出的问题,但答案对我没有帮助。我只需要使状态栏透明,这就是我发现的:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
}
我已经试过了,它确实有效,但它也使底部操作栏变得透明(对于底部操作栏,我的意思是:)
如何只让顶部状态栏透明?
感谢阅读
您可以创建自定义主题来设置状态栏颜色。它适用于版本 21 及更高版本:
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- You can customize it by changing statusBarColor. -->
<item name="android:statusBarColor">@color/pieces_cherry</item>
</style>
并且在您的清单中,您需要将其设置为您的应用主题
您可以检查
不想在此处再次键入所有内容,但如果不满足所有条件,@Yunus 的回答可能无效,主要是 statusBarColor 的文档告诉您的内容。
The color for the status bar. If the color is not opaque, consider setting {@link android.view.View#SYSTEM_UI_FLAG_LAYOUT_STABLE} and {@link android.view.View#SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN}. For this to take effect, the window must be drawing the system bar backgrounds with {@link android.R.attr#windowDrawsSystemBarBackgrounds} and the status bar must not have been requested to be translucent with {@link android.R.attr#windowTranslucentStatus}. Corresponds to {@link android.view.Window#setStatusBarColor(int)}.
参考答案以设置那些必需的标志和样式,同时保持导航栏简单地不要添加 View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
标志,以防你在某些代码中有它。
祝你好运。