Android 标题栏沉浸式的实现

    网上是有好多的实现方式,也有具体的代码,每个人总能找到适合自己的,感觉自己能用的方式来实现这些功能

先看效果,


步骤1,设置Application的theme  这个theme会使你NoTitlebar 也没有状态栏 全部都是你的布局 从头到尾 我比较喜欢这种方式

android:theme="@style/AppTheme"

<?xml version="1.0" encoding="UTF-8" ?>
<resources>
    <!-- Application theme. -->
    <style name="AppTheme" parent="android:Theme.Holo.Light.NoActionBar.TranslucentDecor" type="text/css">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->


</style>

    </resources>


步骤二,

在你要沉浸的布局中加

android:clipToPadding="true"
android:fitsSystemWindows="true"
这两句话 这其中 是有一个问题的 因为你加了这两句话之后 你的那个布局成了 从一开始最上面到最下面 也就是 你布局整体向上提了标题栏的高度

这个问题怎么解决 直接用paddingtop="25dp" 我们美工说的标题栏的高度一般都是50px 所以适配就是25dp 同时 你把的最上面的布局扩大25dp    具体实现 看下面的代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="95dp"

    android:clipToPadding="true"
    android:fitsSystemWindows="true"
    android:paddingTop="25dp"
    android:background="#af4752"
    >
<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="你问我爱你有多深!"
    android:textSize="40dp"
    android:gravity="center"
    />
</LinearLayout>

如此 我自己认为可以的沉浸式的标题栏完成,这种实现方式灵活多变,自定义的成分比较高,比较推荐....额,虽然我只是知道这一种





猜你喜欢

转载自blog.csdn.net/chenshuaiforwork/article/details/52840660