App启动页

之前就打算写一个App启动页相关的文章的,一直拖到现在
!–小二,上代码–

public class SplashLoginActivity extends BaseActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //备注:注销引导界面
        if(getFirst()){
            recordFirst();
            Intent intent1=new Intent(this,GuideActivity.class);
            overridePendingTransition(R.anim.login_in,R.anim.login_out);
            startActivity(intent1);
            finish();
        }else {
            Intent intent2=new Intent(this,MainLoginActivity.class);
            //overridePendingTransition(R.anim.login_in,R.anim.login_out);
            startActivity(intent2);
            finish();
        }
    }
    private void recordFirst(){
        SharedPreferences sp=getPreferences(MODE_PRIVATE);
        SharedPreferences.Editor editor=sp.edit();
        editor.putBoolean("First",false);
        editor.apply();
    }
    private boolean getFirst(){
        SharedPreferences sp=getPreferences(MODE_PRIVATE);
        return sp.getBoolean("First",true);
    }
}

这就是App的启动页面,判断是否是第一次安装App,如果是第一次安装App就跳转到引导页面,否则跳转到App的开始页面。引导页面完成之后也是调到App的开始页面。
我们平时写App的时候,当点击了App的图标之后会弹出一个空白页面,这个空白页面可能是白色的或者是黑色的,这取决于你的App的设置的主题样式。
当我们点击到那些成熟的App的图标是,app并没有立即启动,而是大概等了半秒钟App才启动,(取决于手机的性能,性能越好,这个时间段越短,这是一段耗时操作),此时启动的页面就是我们的App的开始页面,没有看到先前的空白页面了,那这个怎么实现呢?

我们来看这个SplashLoginActivity,它没有XML布局文件,再看它的Manifest文件。

<activity
      android:name=".SplashLoginActivity"
      android:screenOrientation="portrait"
      android:theme="@style/SplashTheme">
        <intent-filter>
           <action android:name="android.intent.action.MAIN" />

           <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>

可以看到这里设置了一个主题@style/SplashTheme。

<style name="SplashTheme" parent="LoginTheme">
   <item name="android:windowBackground">@drawable/splash_login</item>
</style>

它引用了一个自定义样式。加载了一个Drawable 文件。
再看Drawable文件的代码

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <bitmap android:src="@drawable/splash_background"/>
    </item>
</layer-list>

是一个layer-list层叠样式的Drawable文件,里面加载了一张App的启动的图片。
当我们再把App启动的时候就看到了,App并没有立即启动,而是等了很短一段时间再启动的。
二这段很短的时间里,App做了启动App所需要的加载的代码,展现在我们面前的就是那张启动图。这类似后台耗时操作,主线程展示UI加载。。。

好了,就这样。不要喷我。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值