app打开时会有一个加载时间,这个时候一般为白屏或者黑屏,此时可以加一个启动activity来进行优化。
1.创建SplashActivity,在AndroidManifest.xml中设置为启动页面。

<activity android:name=".ui.activity.SplashActivity"
android:exported="true"android:theme="@style/Theme.FullscreenTheme"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter>
</activity>

2.SplashActivity中代码如下:

public class SplashActivity extends AppCompatActivity {private static final String TAG = "SplashActivity";private static final int sleepTime = 1000;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.splash_page);init();}public void init(){//如果第一次进入appif (SharedPreferencesUtil.isFirstEnterInto(SplashActivity.this)) {//此处为判断首次进入app(即下载app后的首次),如果是第一次可以进行一些操作} else {new Thread(new Runnable() {public void run() {long start = System.currentTimeMillis();long costTime = System.currentTimeMillis() - start;if (sleepTime - costTime > 0) {try {Thread.sleep(sleepTime - costTime);} catch (InterruptedException e) {e.printStackTrace();}}//进入主页面startActivity(new Intent(SplashActivity.this, MainActivity.class));finish();}}).start();}}
}

3.aplash_page.xml代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"><ImageViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:src="@mipmap/splash"android:scaleType="centerCrop"/>
</LinearLayout>

此时已经算是设置好开屏页面了,但是activity启动也需要一定时间,所以此时在打开app到开屏页之间还是会有白屏闪动,这个时候我们需要设置SplashActivity的theme。第一步中的android:theme=“@style/Theme.FullscreenTheme”
4.在styles.xml中设置样式;

  <!--parent的引用请根据个人项目的样式库的引用--><style name="Theme.FullscreenTheme" parent="QMUI.Compat.NoActionBar"><!--请将此图片换成你自己的--><item name="android:windowBackground">@mipmap/splash</item><item name="android:windowDisablePreview">true</item><item name="android:windowNoTitle">true</item><item name="android:statusBarColor">@android:color/transparent</item><item name="android:navigationBarColor">@android:color/transparent</item><item name="windowActionBar">false</item><item name="windowNoTitle">true</item><item name="android:fullBackupOnly">true</item><item name="android:screenOrientation">portrait</item><item name="android:windowSoftInputMode">stateHidden</item><item name="android:configChanges">orientation|keyboardHidden|screenSize</item>
</style>

解决白屏闪动,实际上只需要设置android:windowBackground即可,上述其他代码是为了启动页全屏,具体代码参考原生android 启动页全屏-覆盖状态栏。这是我在网上找到的最完美的覆盖状态栏的全屏。

完结撒花~

【Android】开屏页面相关推荐

  1. Android滚动页面位置指示器:CircleIndicator

     Android滚动页面位置指示器:CircleIndicator CircleIndicator是github上的一个开源的用于页面滚动时候的位置指示器,指示当前页面在总的页面中的位置和前后位置 ...

  2. Android 欢迎页面的编写

    今天,简单讲讲Android如何编写欢迎界面. 不废话了,在网上查了资料,都不是很好的方法.自己把自己的代码贴出来. manifest文件 <activity android:name=&quo ...

  3. Android 一个页面上下两个ListView的页面显示

    Android 一个页面上下两个ListView,当上面的ListView过长时,下面的List基本没有了滑动空间,查阅网上资料,解决办法基本是采用ScrollView做页面滑动,notifyData ...

  4. android 广告效果图,Android_Android实现加载广告图片和倒计时的开屏布局,这是一个android开屏布局的实例 - phpStudy...

    Android实现加载广告图片和倒计时的开屏布局 这是一个android开屏布局的实例,可以用于加载广告图片和倒计时的布局.程序中设置的LayoutParams,划分额外空间比例为6分之5,具体权重比 ...

  5. android 广告视频,Android开屏视频广告

    Android开屏视频广告 //视频保存地址 private String videoPath = "/sdcard/xxxx/" + "appVideo.mp4&quo ...

  6. Android开屏视频广告

    Android开屏视频广告 //视频保存地址 private String videoPath = "/sdcard/xxxx/" + "appVideo.mp4&quo ...

  7. Android刷新页面

    代码改变世界 Android刷新页面 继承 extends Activity /*** 调用onCreate(), 目的是刷新数据, 从另一activity界面返回到该activity界面时, 此方法 ...

  8. Android设置页面Preference出现红色下划线

    昨天发现了一个问题,在设置的关于设备选项中,有一栏是设备名称,在修改为非英文单词后,上下滑动,会出现一条红色下划线提示,如下图所示 经过博主的摸索发现,这是由于Android的拼写检查服务造成的,在设 ...

  9. Android登录页面设计

    说到开发app,肯定要设计页面布局是吧,我也是个审美不好的人,对于开发app也只能写好功能,页面美观做不好. 今天呢,给大家奉上一篇android登录页面,当然这个页面也是我写的,不过可能并不美观,只 ...

最新文章

  1. python全栈开发基础【第二十三篇】线程
  2. android中屏幕宽高显示不全,Android 获取屏幕宽度跟高度
  3. mysql 中间点策略_网易MySQL中间件的负载均衡策略及性能优化
  4. 永福股份遭宁德时代减持3% 后者产业链投资浮盈已达80亿
  5. 我爬了价值1800亿的商品信息
  6. 日常生活中的思维导图:一本书让你了解思维导图MindManager
  7. 使用Eclipse Babel语言包汉化eclipse
  8. 联想电脑硬盘保护系统EDU8.0.1iso安装
  9. QQ桌球瞄准器开发(4)透明度、颜色、线宽与母球大小
  10. 移动通信核心网技术总结(四)IMS的网络架构和功能
  11. 去雾算法学习-----Automatic recovery of the atmospheric light hazy image(fattal 大气光值自适应去雾算法)阅读笔记
  12. elementUI按需引入时报错 :Cannot find module ‘babel-preset-es2015‘
  13. 食品微商怎么靠快手引流,微商如何巧妙借助短视频引流
  14. 【解题总结】SEERC 2019(Codeforces Gym 102392)
  15. Linux中配置RAID磁盘阵列
  16. java 粒度_java中粗粒度和细粒度的概念
  17. 【MQ】MQ消息中间件RabbitMQ
  18. 如何携号转网只需三步
  19. 2022全国大学生数学建模A题的思路与解法
  20. 蓝桥杯2016年JavaB组省赛(代码+解析)

热门文章

  1. 微信图文美化编辑器试试构思编辑器
  2. mysql5.7 报错1055_MySql5.7 报错 1055
  3. dcos里面跑jenkins的问题
  4. jq 修改元素css伪类样式
  5. 山外K66连接TLL注意事项
  6. npoi使用Excel模板下载数据
  7. 墨者靶场-SQL手工注入漏洞测试(MySQL数据库-字符型)
  8. 十年感悟之 python之路
  9. android.mk 条件编译,android openSSL 的苦逼历程
  10. 到底什么是数据中台?