看到了状态栏为透明,并且可以轮播图控制,所以在度娘里学习了一下。
一.改变状态栏为透明:
项目结构见上图,主要就操作的value和manifest文件。所以其他没有贴。下面开始一步一步操作
1.在res中新建两个文件夹:values-v19,values-v21.
2.在values-v19文件夹中新建styles文件,写:
<style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
</style>
3.在values-v21文件夹中新建styles文件,写上:
<style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:windowTranslucentStatus">false</item>
<item name="android:windowTranslucentNavigation">true</item>
<!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色-->
<item name="android:statusBarColor">@android:color/transparent
</item>
</style>
4.在values文件的styles文件,避免4.4的手机出现bug,写上:
<style name="ImageTranslucentTheme" parent="AppTheme">
<!--在Android 4.4之前的版本上运行,直接跟随系统主题-->
</style>
5.在manifest注册文件中,需要修改加入这个效果的activity中,写上:
android:theme="@style/ImageTranslucentTheme"
6.进入需要修改的activity的布局文件中,修改根布局的背景,并加上
android:fitsSystemWindows="true"
7.试一下可以看到状态栏部分就变成透明的了。
</br>
</br>
二.如何把轮播图内嵌进来,修改轮播图即可修改顶部状态栏?
1.这里我使用的是开源库ConvenientBanner,具体使用方法和正常相同,只是在自定义的 LocalImageHolderView中,修改,即可
2.运行就好使啦!!!!
</br>
注意:若在运行期间,发现上面浮现了一条黑色框,上面文字是项目名字,修改MainActivity extends Activity,就可以了。
</br>