我在Android Studio上的启动屏幕先加载灰色背景,然后再进入启动屏幕,然后进入主活动。
我如何使灰色装载机成为启动屏幕?
答案 0 :(得分:1)
也许您已经在oncreate()方法中做了很多编程工作。保持最小。查看此有用的初始屏幕教程:http://tusharpatil.com/blog/how-to-implement-splash-screen-in-android-java/
答案 1 :(得分:0)
您的飞溅活动很可能很重。您可以添加一个非常小的活动,然后将其转发到较大的启动活动
public class Splash extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = new Intent(this, SplashActivity.class);
startActivity(intent);
finish();
}
}
将该活动用作AndroidManifest.xml中的启动意图
<activity
android:name=".view.splash.Splash"
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>
此外,在styles.xml中为启动转发活动创建一个主题。
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="colorPrimaryDark">@color/colorAccent</item>
<item name="android:windowBackground">@color/colorAccent</item>
</style>
在这里,我仅将强调色用于与以下启动活动匹配的背景,以便于转换。这样可以避免出现灰色情况。还有其他替代方案,例如Tushars解决方案,但这在我的用例中有效
希望这会有所帮助