Android适配启动页白屏(避免图片icon拉伸)

释放双眼,带上耳机,听听看~!

引入

做过Splash欢迎页的都知道,一般的做法是在style中设置windowBackground为启动图,来避免冷启动时的黑屏或白屏,但是windowBackground并不能centerCrop,如果放一张尺寸的图在某些屏幕上就会出现拉伸,这种用户体验显然是很差的。

解决

1、首先,我们需要在res/drawable目录下创建一个 xml 文件,并命名为background_splash.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:opacity="opaque">
    <!--白色矩形 作为背景色-->
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@color/color" />
        </shape>
    </item>
   <!--启动页面logo-->
    <item android:bottom="80dp">
        <bitmap android:src="@drawable/welcome_logo"
        android:gravity="bottom|center_horizontal"/>
    </item>
</layer-list>

2、在style.xml新建一个主题AppTheme.Launcher

<style name="AppTheme.Launcher">
        <item name="android:windowBackground">@drawable/background_splash</item>
</style>

3、然后在启动Activity设置我们刚才定义的theme

<activity
        android:name=".ui.SplashActivity"
        android:theme="@style/AppTheme.Launcher">
        <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
</activity>

大功告成

人已赞赏
Android文章

Android架构篇——多版本切换封装(图片库、Map等)

2019-10-10 17:53:09

Android文章

Android4.4、Android5.0+状态栏颜色、透明等设置

2019-10-10 23:59:56

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索