大家在浏览app启动页的时候,一定遇到过在部分机型中图片变形、页面不协调、文案被裁剪的问题,下面这篇文章主要给大家介绍了关于Android app启动图适配的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
前言
app启动后的白屏问题,默认都是在splash页面加主题配置,主题配置一个背景来达到用户点击app图标就立马启动app的假象,大多情况下,使用背景单一的图片作为启动图,我们在设置背景颜色,就能适配的很不错了(背景颜色+logo图片的模式)。但是当启动图不再单一,而且复杂的图形时候,适配就成大问题了,下面介绍我的方法:
1、设置splash主题
<style name="MySplashTheme" parent="@android:style/Theme.Holo.NoActionBar">
        <item name="android:windowBackground">@drawable/splah_bg</item>
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowBackground">@color/white</item>
        <item name="android:windowDrawsSystemBarBackgrounds">false</item>
    </style>
2、 splash_bg 设置:
<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="QGRyYXdhYmxlL3dlY29tZTQ="
    android:dither="true"
    android:filter="true"
    android:antialias="true"
    android:gravity="fill">
</bitmap>
这里面的gravity = fill是设置图片拉伸的(可以用.9图片)
3、splash布局文件设置:
 <ImageView
        android:id="@+id/iv_bg"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:background="@drawable/splah_bg" />
注意这里的图片设置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用图片,不然主题到splash布局切换的时候,图片会闪动。
注意这里的图片设置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用图片,不然主题到splash布局切换的时候,图片会闪动。
注意这里的图片设置用 backgroup,而不是src。然后背景用上面的drawable文件,而不是直接使用图片,不然主题到splash布局切换的时候,图片会闪动。
上面说的是不能设置背景颜色的,如果启动图背景是纯色的,比如天猫那种,就一白色加一个logo,那种主题设置就不一样了,请用下面这种模式
<?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 >
        <bitmap
            android:gravity="fill"
            android:src="QGRyYXdhYmxlL3dlY29tZTQ="
            android:dither="true"
            android:filter="true"
            android:antialias="true"
            />
    </item>
</layer-list>
附问题:项目启动时,会有白屏现象(在点击 应用图标到看到启动页之间)。
处理办法:
一:我们尽量减少的Application类里面的耗时操作
二:设置项目启动页的style类型为透明的
处理之后的现象:看不到白屏,但是点击应用图标之后,会静止一段时间(没有任何反应),过一会儿,才会显示启动页
三:设置项目启动页的style类型为指定图片A(在SplashActivity里面 ,就不用设置setcontentView()了)
处理之后的现象:看不到白屏,但是点击应用图标之后,会显示刚刚设置的style的图片,过一会儿,才会显示启动页
这种做法遇到的问题:
如果 这个图片A的尺寸较小,那么的大尺寸的手机上,启动页会看到图片A的周边是有空白了。
这个问题处理办法:
1.如果 这个图片A的背景 有着明显的规律(这个比较巧合,很难遇到),比如:从上到下有渐变时,可以使用layer-list里的shape的gradient
2.在UI设计图片A的时候,将这个图片A的重要信息(应用的名称,icon等等)之外的其他背景 用透明表示,这样就可以使用layer-list里的shape了,将这个图片A的其它地方用shape的颜色来填充了,就不会看到周边空白的现象了。
四:设置项目启动页,在SplashActivity里面 ,用setcontentView(),设置xml布局里面的ImageView的scaleType为能自动填充满界面布局的类型:centerCrop(注意:这个类型会自动剪切掉图片A的周围,注意:的重要信息不要显示在图片的周边,尽量显示在图片的中间)
总结
到此这篇关于Android app启动图适配方法的文章就介绍到这了,更多相关Android app启动图适配内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Android app启动图适配方法实例
				
        
 
            
        - 最好用的ios数据恢复软件:PhoneRescue for Mac 2023-09-14
 - Android MaterialButton使用实例详解(告别shape、selector) 2023-06-16
 - iOS 对当前webView进行截屏的方法 2023-03-01
 - 作为iOS开发,这道面试题你能答出来,说明你基础很OK! 2023-09-14
 - Flutter实现底部和顶部导航栏 2022-08-31
 - Android studio实现动态背景页面 2023-05-23
 - Android实现轮询的三种方式 2023-02-17
 - Android实现监听音量的变化 2023-03-30
 - SurfaceView播放视频发送弹幕并实现滚动歌词 2023-01-02
 - 详解flutter engine 那些没被释放的东西 2022-12-04
 
						
						
						
						
						
				
				
				
				