APP启动页和沉浸式状态栏设置

app启动页的正确设置
方法一
1、定义style

<!--Base主题-->
    <style name="Base.App.Theme" parent="AppTheme">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>
<!--启动界面主题-->
<style name="App.Theme.Launch" parent="Base.App.Theme">
    <item name="android:windowBackground">@mipmap/welcome</item> 
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

welcome就是启动页图片
2、引用

<activity android:name=".main.LaunchActivity"
          android:label="@string/app_name"
          android:screenOrientation="portrait"
          android:theme="@style/App.Theme.Launch">  //引用
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>

        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

方法二
方法一是在xml配置app启动图片,如果启动页图片需要动态配置,则使用方法二。
只能设置activity的backgroud,但是启动有白屏或者黑屏闪现,无法避免,目前没有找到解决方法。
1、设置activity根布局的background背景为welcome

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:background="@mipmap/welcome"
              android:layout_width="match_parent"
              android:layout_height="match_parent">
</LinearLayout>

2、定义style

    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

3、引用

<activity android:name=".main.LaunchActivity"
          android:label="@string/app_name"
          android:screenOrientation="portrait"
          android:theme="@style/AppTheme.NoActionBar">  //引用
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>

        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>

4、以上三步完成后,启动页的状态栏还是没有隐藏,达不到全屏的效果。所以需要在LaunchActiivty的onCreate()方法中做如下设置,隐藏状态栏

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //隐藏状态栏
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_launch);
        getUpdateInfo();
    }

状态栏沉浸式设置
http://blog.csdn.net/fan7983377/article/details/51604657
http://www.androidchina.net/4715.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,641评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,223评论 4 61
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,765评论 0 17
  • 前言 首先请大家看几张图: 以上的效果,一般我们统称为沉浸式状态栏。其实,这种叫法不是很准确,而且也没有沉浸式状态...
    宇是我阅读 9,456评论 2 28
  • 今天发生一件特别让人气愤的事,万科集团的一位彭氏工程师,辱骂了我们唐家墩村民。 事情是这样的,万科集团就昨日6月2...
    唐家墩村民阅读 5,795评论 0 2