解决安卓启动页图片拉伸问题

背景

不少App启动时,会出现长时间白屏,为了避免白屏的不悦体验,一方面肯定是提升启动速度,另一方面则是提供一个启动页面,让画面感填充无聊的等待.

解决方案

  1. 新建SplashActivity
class SplashActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        startActivity(Intent(this,MainActivity::class.java))
    }
}
  1. 增加启动图bg_splash.xml
    其中splash为真正的图片
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <solid android:color="#FFFFFF" />
        </shape>
    </item>
    <item android:bottom="10dp">
        <bitmap
            android:gravity="bottom"
            android:src="@drawable/splash" />
    </item>
</layer-list>
  1. styles.xml文件中增加theme定义
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
    <item name="android:windowBackground">@drawable/bg_splash</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">false</item>
</style>
  1. 在Manifest文件中,对activity指定theme
<activity
    android:name=".SplashActivity"
    android:theme="@style/SplashTheme">

PS:对于启动图,除了上面在bg_splash.xml通过layer叠加避免图片拉伸,还可以采用点九图.疗效是一致的.

完整源代码

https://gitee.com/cxyzy1/splash-demo

附录

https://blog.csdn.net/u010218170/article/details/92437667
https://blog.csdn.net/u011418943/article/details/88537446
https://yanzhenjie.blog.csdn.net/article/details/52201896

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

相关阅读更多精彩内容

友情链接更多精彩内容