android 适配启动图变形

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

1. windowBackground

首先需要解决windowBackground的拉伸问题,用一整张图肯定不行,所以这里只需要一张slogan图片,然后通过layer-list来实现。

在drawable下建一个splash.xml


   


android:bottom="46dp"

android:drawable="@drawable/ic_slogan"

android:gravity="bottom|center">





2. Activity Theme

新建一个Splash主题,windowBackground设置成刚刚建的splash.xml

@drawable/splash_lay

true

true

@android:color/transparent

@android:color/transparent

如果有NavigationBar 手机上图片或被遮住

在5.0后,增加了一个windowDrawsSystemBarBackgrounds属性,用来标志此窗口是否负责绘制系统栏背景,我们把它设成false,这样当它绘制windowBackground的时候,就会在NavigationBar之上。

你可能感兴趣的:(android 适配启动图变形)