其他界面渲染图: 如以上两张图片所示,“活动”中两个“片段”的状态栏显示不同的效果。 主要思想是使状态栏透明并消除标题栏。 二、实施 有两种实现方法传奇状态栏透明补丁,一种是在布局中设置它,另一种是在代码中设置它。 Android 4. 4以下的系统无法操作状态栏,因此本文重点介绍Android 4. 4系统和Android 5. 0及更高版本的系统。 对于Android 4. 4和Android 5. 0及更高版本的系统,请先在styles.xml中设置主题样式,然后先删除标题栏,然后添加以下两行代码: 我直接在此处添加了默认主题AppTheme:
对于Android 4. 4系统: 您可以创建一个新的“ values-v19 / styles.xml”文件并添加代码:
您也不能将android:windowTranslucentStatus属性设置为true,而是将以下代码添加到Activity中:
对于Android 5. 0及更高版本的系统: 您可以创建一个新的“ values-v21 / style.xml”文件,并添加与Android 4. 4系统相同的代码:
但是以这种方式显示的状态栏是半透明的。如果要实现完全透明,可以在“活动”中进行设置并添加代码: 对于上述方法,不能在相关的布局文件中将fitsSystemWindows设置为true,否则整个布局将向下移动一定距离状态栏的高度,并且状态栏仍将显示为灰色。 三、后记 我刚刚开始写博客,希望我不在乎一些缺点,并且有很多可以添加到本文中的东西,将来可能会添加。 在其他界面中有EditText时,单击EditText弹出虚拟键盘并返回主页传奇状态栏透明补丁,状态栏再次变灰,如下图所示: 解决方案是将windowSoftInputMode属性值的AdjustPan或AdjustNothing设置为AndroidManifest.xml文件中的相应Activity。 后记(二) 对于Android 6. 0及更高版本,您可以将状态栏文本的颜色更改为黑色,代码如下:
添加View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR属性可以使状态栏的文本颜色为黑色,将其删除并将其恢复为原始状态 (责任编辑:admin) |
|
|