美文网首页
安卓启动屏简单实现(带适配)

安卓启动屏简单实现(带适配)

作者: 奥雷里亚诺下划线_上校 | 来源:发表于2019-04-28 23:11 被阅读0次

前言:很多手机app都有启动屏,一开始以为是时尚,后来看了一圈原来是为了解决包体过大,app加载产生的白屏进行的一种美化方式,也不管那么多了,今天我们来实现最简单的一种启动屏。


示例图片:

首先打开values下styles.xml,增加一个背景特效,值我就是用了一张点9格式的图片,当然其他格式也行,但是也许会涉及不同机型的适配问题,所有我采用了这个格式,后续会介绍如何制作点9格式图片。

    <style name="AppTheme.Launcher" >
        <item name="android:windowBackground">@mipmap/bg</item>
    </style>

然后在AndroidManifest.xml下修改application中的theme为上文所写的styleAppTheme.Launcher

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme.Launcher">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

之后为了防止这个背景持续在Activity中加载,需要在onCreate()方法中使用setTheme(R.style.AppTheme);来把主题恢复。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(R.style.AppTheme);
        try {
            TimeUnit.SECONDS.sleep(3);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        setTheme(R.style.AppTheme);
        setContentView(R.layout.activity_main);

    }

现在讲一下点9格式的图片制作,为什么要做点9图,因为不同机型的分辨率不一样,所以很多图片都会产生变形,如果根据不同的分辨率制作很多张图片,很麻烦,于是决定用点9格式的图片。
大致的原理是固定某些地方,让没有被固定的地方进行适配和拉伸,因此很多纯色背景的图片都可以采用这种格式。
首先在如下文件夹下随便放一张png的图,

image.png
然后右键,选中Create 9-Patch file...,就会自动生成点9格式的图片。
image.png
然后就可以双击进入图片,通过调整图片四周的黑边就可以对图片进行相应的设置,这一块的教程有很多,右边也有相应的预览,这里就不赘述啦。设置完成之后,删除原图就可以了,本期教程就到这里了,谢谢观看。
image.png

相关文章

网友评论

      本文标题:安卓启动屏简单实现(带适配)

      本文链接:https://www.haomeiwen.com/subject/fimsnqtx.html