Android | APP设置启动页(Java)

Posted jaycola99

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android | APP设置启动页(Java)相关的知识,希望对你有一定的参考价值。

新建启动页Activity

新建一个SplashActivity,修改其在androidMainfest中的配置,改为启动文件。同时原项目的MainActivity中的<intent-filter>删除

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

当启动app时,系统需要加载很多内容,故会产生一定的延迟,其结果是会出现白屏或黑屏(由默认主题而定)。加载layout需要事件。解决的方法同样在AndroidMainfest中解决,在启动activity中加入选择的主题即可即可

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

创建主题

主题文件位于/res/values/themes

<style name="SplashActivityTheme"    parent="android:Theme.Holo.Light.NoActionBar">
    <item name="android:windowBackground">@mipmap/background</item>
    <item name="android:windowTranslucentStatus">true</item>
    <item name="android:windowTranslucentNavigation">true</item>
</style>

这是我新建的style,其中windowsBackground属性为初始化背景图片。可以观察手机app上启动的过程中,一开始只有一张图片,然后再跳转或者添加了一些动画效果。因为这些跳转的结果和动画效果需要初始化,故放张图片卡卡时间。除了background其余时设置状态栏和手机的导航栏会不会显示,有很多种方法。

错误

如果直接添加主题,会报错

Unable to start activity ComponentInfo{com.jay.startactivity/com.jay.startactivity.SplashActivity}: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.

因为当在AndroidMainfest中设置主题时,选择了自己创建的主题,根据代码可以看出,新建theme的parent是android:Theme.Holo.Light.NoActionBar。但是我们利用Android Studio创建新的Activity时默认为继承于AppCompatActivity

public class StartActivity extends AppCompatActivity

该activity类型有一个默认的主题Theme.AppCompat theme,而你所新建的主题当然不属于这个主题,解决方法很简单,将继承的父类改为Activity即可。

public class StartActivity extends Activity 

以上是关于Android | APP设置启动页(Java)的主要内容,如果未能解决你的问题,请参考以下文章

移动端app 使用cordova设置了启动页 怎么再设置一个跳过启动页

Flutter_设置APP图标和启动图

任务':app:transformClassesWithDexBuilderForDebugAndroidTest'的执行失败,java.lang.RuntimeException(代

Android:启动页设置以及动态权限跳转

【Android】APP白屏解决

Android studio课程设计开发实现---日记APP