android 去除 启动的 黑屏 or 白屏 并且加上启动动画

先说一下为啥,启动会有黑屏:

(1)从生命周期来看,onResume 执行了,才会把界面呈现出来,这之前有:application的初始化,activity的onCreate onStart,啥的

(2)从绘制的周期来看,1. 绘制背景。 2. 绘制View本身的内容,别问我是怎么知道的,我也不知道大笑

我以前的解决办法是:

<style name="AppStartLoadTranslucent" parent="@style/BaseAppTheme">
    <item name="android:windowIsTranslucent">true</item>
</style>

然后把这个用在,第一个开启的activity上面。

好了问题解决,啪啪啪(别想歪了)。

好吧,我很悲剧的发现:动画木有了(当前activity跳转到下一个activity的)!

于是老哥想到了一个法子,style不让搞,

this.overridePendingTransition(R.anim.zoom_in, R.anim.zoom_out)
这样总行了吧,结果是:席八。(自行补脑)


好吧,进入正题。

之前提到,绘制是从背景开始的,那么

<style name="AppStartLoadTranslucent" parent="AppTheme">
    <item name="android:windowBackground">@drawable/first_bg</item>
    <item name="colorPrimary">@color/color_first_bg</item>
    <item name="colorPrimaryDark">@color/color_first_bg</item>
    <item name="colorAccent">@color/color_first_bg</item>
</style>
把这个style 用在了 第一个activity

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"/>

然后我第一个activity 啥都没设,当然你setContentView的时候可以直接new一个空的布局,用空的布局意思都知道吧,就是为了不挡住上面的style背景。

colorPrimary这个都知道吧,状态栏颜色(如果你继承AppCompatActivity并且style:Theme.AppCompat.)的话状态栏颜色就变了呢。


告辞。








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值