项目源码
https://github.com/liaozhoubei/NetEasyNews/tree/dev_kotlin

现在许多应用在启动时会在 Application 或者 splashActivity 之中做大量的逻辑运算,又或者因为apk 过大,多大几十上百兆,等等原因,造成应用在启动的时候会有短暂的白屏出现,然后才进入闪屏页面。

因此为了掩盖白屏现象,大家会更改 SplashActivity 的 theme 来将白屏更改为其他图片。

在 styles.xml 中添加如下代码:

<style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar"><item name="android:windowBackground">@drawable/bg_splash</item><item name="android:windowNoTitle">true</item><item name="android:windowActionBar">false</item><item name="android:windowFullscreen">true</item><item name="android:windowContentOverlay">@null</item>
</style>

然后在 AndroidManifest.xml 设置 splashActivity 的主题:

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

如此便简单的将白屏替换为自定义图片了。

问题

替换完之后,会发现一个问题,在适配不同屏幕的手机的时候发现设置的图片被拉伸变形了!

我们试着将图片设置为 .9 格式的图片,然而问题没解决,反而出现另一个问题,那就是 splashActivity 的布局图片会受到 .9 图片的大小影响!

##解决

实际上设置取代白屏的的 bg_splash 不应该是一整张图片,而应该是 drawable 的资源文件,用 layer-list 进行布局。

在 drawable 文件夹中创建 bg_splash.xml ,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"android:opacity="opaque"><!-- 背景颜色,在上图中该颜色为黑色 --><item android:drawable="@android:color/white" /><!-- 黑色背景上的其他图片元素,比如 一个居中显示的 logo 图标--><item><bitmapandroid:gravity="center"android:src="@drawable/bg_main_logo" /></item><!-- 最下面的文字,注意这里有个 bottom 设置 --><item android:bottom="@dimen/logo_text_bottom"><bitmapandroid:gravity="bottom"android:src="@drawable/bg_text_name" /></item></layer-list>

这样就设置了居中的logo和居于底部的公司名。

再次启动应用,完美!

但是使用 layer-list 有点不方便的是无法直接使用文字,其次就是图片布局只能是 左上角,右上角,中间,底部等位置,不能设置其他位置。

如果大家对于项目的后续感兴趣可以关注我的个人微信公众号,每次更新都会在上面进行推送,还可以加入QQ群共同进步呢

微信公众号: Android实战之旅

微信号: unidirection

扫描关注:

也可以申请加群,大家一起沟通交流

QQ 群:799054441

第二课 闪屏页面拉伸的处理相关推荐

  1. 闪屏页面(Splash)开发

    业余作品--365安全卫士 ------------------------------------------- 闪屏页面(Splash):app刚启动时的页面 作用: 1.展示公司品牌logo 2 ...

  2. 设置android应用闪屏图片_Android实现启动页面(闪屏页面)

    不难发现,我们手机上的很多app都有启动页面,例如打开简书App在显示主页文章前会有一个启动页面,如下所示: 简书启动页面 随后是一个广告页面,最后才进入到主页去. 那么我们自己怎么实现这个效果呢?下 ...

  3. Android 9闪屏页面适配问题

    闲谈 距离上一篇博客已经两个月的时间了,一是年底的工作任务确实加重了一些,二是自己也有些懈怠了--让自己写博客的时间为其他事情让步.好在昨天任务完成,今天放松的休息了一上午,觉得还是要做点什么,来庆祝 ...

  4. IOS 更换闪屏页面出现的问题

    换了图片还是老页面 主要是缓存导致 解决方案 Delete your app from the device Power down the device Power up device, instal ...

  5. android 闪屏页处理_Android应用闪屏页延迟跳转的三种写法

    闪屏页也称之为欢迎页.在打开一个App时,我们第一眼看到的往往是一个闪屏页面,之所以叫闪屏页,是因为它出现之后会短暂地停留几秒钟再跳转到其他页面.闪屏页除了使用户体验更好外,还能给app留出初始化数据 ...

  6. 【SwiftUI模块】0008、SwiftUI-自定义启动闪屏动画-App启动闪屏曲线路径动画

    SwiftUI小功能模块系列 0001.SwiftUI自定义Tabbar动画效果 0002.SwiftUI自定义3D动画导航抽屉效果 0003.SwiftUI搭建瀑布流-交错网格-效果 0004.Sw ...

  7. Unity 设置安卓和ios平台的闪屏页(适合新手)

    前言 本人之前在游戏发行团队做安卓聚合sdk方面的相关工作,因公司内部优化去了游戏研发团队,负责Android和Ios相关的游戏接入工作.通俗的讲只要跟安卓和IOS方面有关的任何事情都是我来搞,包括游 ...

  8. Flutter——踩坑之旅(iOS闪屏页+启动页 闪屏之后会黑一下才进入启动页)

    程序猿日常 flutter填坑--iOS闪屏页+启动页效果优化 闪屏之后会黑一下进入启动页 问题描述 大部分app都有自己的启动页,我们经常在启动页做一些判断逻辑,例如 是否第一次启动app,第一次启 ...

  9. android 闪屏页处理_关于Android应用回到桌面会重复打开闪屏页

    现在存在有的时候发现回到桌面会重复打开闪屏页,我研究了一下,有如下结果. 重现方式: 用android的installer安装打开闪屏页,按Home键回到首页,然后点击launcher的图标会再打开一 ...

最新文章

  1. mysql中的float_mysql里float是什么东西
  2. TensorFlow练习23: “恶作剧”
  3. NPOI的excel导出1
  4. 千位亿万富豪调研:六成富豪担心继承人婚姻问题致财富外流
  5. 【赠书】金融领域可解释机器学习模型与实践
  6. 微脉java面试,微脉医疗开放平台
  7. 民非企业盈利怎么处理_对企业法人无力偿还债务时要怎么处理,如何解决?
  8. mysqldump备份报Binlogging on server not active的解决
  9. Golang——变量和常量详解
  10. atheros ar9485网卡驱动 linux,ar9485无线网卡驱动64位下载
  11. gif一键抠图 在线_不会PS,怎么免费在线抠图?一键轻松制作头像
  12. python 获取请求链接下载文件的大小和文件特征
  13. 基于加速度计的倾角检测算法-C语言程序
  14. python数字及字母的分离_Python 分割文本使得 字母和数字 分开?
  15. 基于React和fabricjs开发的在线名片、海报设计器,大前端项目在线图片编辑器源码分享
  16. Android7.0上拍照与选择照片Crash问题
  17. 计算机基础之计算机的前沿技术
  18. Re01:NerLTR-DTA: drug–target binding affinity prediction based on neighbor relationship and learning
  19. 机器学习算法工程师需要掌握的技能与要踩的坑
  20. C++实现模拟网上购书的结账系统

热门文章

  1. python大括号用法_Python如何在 .format 中使用大括号
  2. 《爬虫系列之爬取PPT》
  3. jetcache官网教程
  4. EXCEL中SUM函数的8种用法
  5. CBK联席总裁梅德钊应邀出席合众人寿2017年团险第三届高峰会并发表演讲
  6. 传研发人员被「祭天」,继小红书「崩」上热搜后,网友:“这难道不是测试的锅?”...
  7. 史上最牛逼的 Eclipse 快捷键,提高开发效率!
  8. ResultSet遍历
  9. 人工智能文本分析(AITextAnalysis)
  10. koa cookie