Android Splash适配解决启动背景图拉伸问题

做过Splash的都知道,一般的做法是在style中设置windowBackground为启动图,来避免冷启动时的黑屏,但是如果放一张固定尺寸的图在某些屏幕上就会出现拉伸,并且windowBackground还不能centerCrop,就算通过资源限定符也不能完美的适配。

解决方案:layer-list

style.xml

<style name="AppTheme.Splash" parent="AppTheme">
    <item name="android:windowBackground">@drawable/splash</item>
    <item name="android:windowNoTitle">true</item>
</style>

splash.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <!--白色矩形 作为背景色-->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/white" />
        </shape>
    </item>

    <!--单独的slogan图片 并且设置下间距-->
    <item>
        <!--位置设置成靠下-->
        <bitmap
            android:gravity="center"
            android:src="@drawable/splash_bg" />
    </item>
</layer-list>

适配启动图的核心代码就是layer-list,将元素叠成启动图的样式,更复杂一点的启动图也是可以适配的。

参考:https://github.com/android-cn/android-discuss/issues/715
参考:https://blog.csdn.net/aa464971/article/details/86692198

上一篇 Android 10(Api 29)新特性适配 - 分区存储
下一篇 EventBus 3.0 封装
目录
文章列表
1 SpringBoot+Redis布隆过滤器防恶意流量击穿缓存
SpringBoot+Redis布隆过滤器防恶意流量击穿缓存
2
React Native学习之在React Native中使用Flexbox
React Native学习之在React Native中使用Flexbox
3
ElasticSearch High Level REST API(3)Scroll 滚屏
ElasticSearch High Level REST API(3)Scroll 滚屏
4
Android 5.0以下Glide加载https图片问题
Android 5.0以下Glide加载https图片问题
5
Swift UI - 日期选择控件(UIDatePicker)
Swift UI - 日期选择控件(UIDatePicker)
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。