主题设置
不直接继承AppCompatActivity,原因是Splash需要设置为全屏,
底部NavegationBar将会挡出底部布局,如果底部放有logo,影响视觉效果
解决方式:
1.SplashActivity extends FragmentActivity
2.设置主题
<style name="FullScreenTheme" parent="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen" />
<!--开屏页面-->
<style name="Theme.Splash" parent="@style/FullScreenTheme">
<item name="android:windowBackground">@drawable/bg_splash</item>
</style>
```
bg_splash.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
//背景设置为纯色
<shape android:shape="rectangle">
<solid android:color="@android:color/white" />
</shape>
</item>
<item android:bottom="55dp"> //设置logo距离底部55dp
<bitmap
android:gravity="bottom"
android:src="@drawable/ic_splash_logo" />
</item>
</layer-list>
```
逻辑处理
首先校验必备权限,可以使用RxPermissions,引入库:
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar'
基本权限有:
public static final String[] PERMISSIONS = new String[]{
Manifest.permission.READ_PHONE_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
};
未获取全部权限弹窗提示,已获取全部权限才进行下一步操作
网友评论