Android 优雅的启动页方案

App的启动页非常的常见,几乎现在所有的APP都会有吧~实现的方式也各种各样,那在这里我就记录一下我的实现方案,方便下次使用。

通常呢我们可能会建一个启动页的Activity,然后在最外层布局中设置背景,但是这样有一个很明显的缺陷,当我们在Application中初始化的东西比较多时,启动APP的瞬间会有短暂的白屏或黑屏,这就显得很尴尬了...

我的方案是这样的,新建一个启动页的Activity,但是不设置背景图片,而是为这个Activity设置一个theme:

 <activity
            android:name=".controller.activity.main.welcome.WelcomeActivity"
            android:screenOrientation="portrait"
            android:theme="@style/App">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
 <style name="App" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowBackground">@drawable/start3</item>
    </style>

style中最重要的是android:windowBackground 这个属性,他是给此Activity的window窗口设置一个背景。

接下来我们在Activity中设置延时三秒跳转。

Thread {
            Thread.sleep(3000)
            runOnUiThread {
                startActivity(MainActivity::class.java)
            }
        }

将启动页的Activity设为入口Activity。ok收工。

笔者能力有限,不足之处欢迎指出。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,548评论 25 709
  • 【触发背景】面对海量APP的今天,APP用户量和活跃度成为评价一款APP是否成功的重要因素。用户下载APP后,AP...
    siyu8023阅读 13,556评论 1 14
  • Android Studio JNI流程首先在java代码声明本地方法 用到native关键字 本地方法不用去实现...
    MigrationUK阅读 14,102评论 7 123
  • 一触即发 App启动优化最佳实践 文中的很多图都是Google性能优化指南第六季中的一些截图 Google给出的优...
    eclipse_xu阅读 10,547评论 7 95
  • 其实事件很简单,朋友的工厂里有台机器坏了,朋友求我帮忙看看,其实他不知道,一来我专业不对口,二来我就是个混子,啥也...
    傅首尔的路转粉阅读 2,548评论 1 1

友情链接更多精彩内容