对于Lollipop+,我尝试从片段中将状态栏设置为半透明。调用活动的布局包含一个FrameLayout,该活动使用该SupportFragmentManager将原始片段替换为新片段。在新片段的onViewCreated中,我使用ContextThemeWrapper来设置新主题。主题包含几个更改,将状态栏更改为半透明就是其中之一。其他主题更改会生效,但状态栏将保留调用活动主题的颜色。
注意:如果我将调用活动的主题设置为半透明的动作栏主题,那么活动和片段都有半透明的状态栏,所以主题不是问题。
发布于 2015-12-02 02:26:47
在片段的onCreateView方法中,添加了:
getActivity().getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
getActivity().getWindow().setStatusBarColor(Color.TRANSPARENT );事实证明,如果你只是想要一个半透明的状态栏,那么改变主题是不必要的。
发布于 2015-12-01 12:00:17
1.您是否可以尝试以编程方式设置setStatusBarColor透明度
getWindow().setStatusBarColor(Color.TRANSPARENT);2.在你的styles.xml中添加下面一行它的实现。
<item name="android:statusBarColor">@android:color/transparent</item>https://stackoverflow.com/questions/34011779
复制相似问题