我目前正在开发一个带有闪屏的应用程序,没有操作栏,具有自定义背景等(因此它处于全屏模式)。但是,在启动屏幕出现之前,有一个" flash" (约0.5秒长)带有动作条的白色布局显示。有人可以解释我如何删除这种行为? 感谢
SplashScreen活动看起来像
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
font = new CustomFont(getBaseContext());
getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
// Hide an action bar
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO){
getActionBar().hide();
}
else{
getSupportActionBar().hide();
}
setContentView(R.layout.activity_splash_screen);
//Use custom font
font.setTypeface((TextView) findViewById(R.id.splashScreenTVTitle));
new Handler().postDelayed(new Runnable() {
/*
* Showing splash screen with a timer.
*/
@Override
public void run() {
// This method will be executed once the timer is over
// Start your app main activity
Intent i = new Intent(SplashScreenActivity.this, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(i);
// close this activity
finish();
overridePendingTransition(0, 0);
}
}, SPLASH_TIME_OUT);
}
的Manifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.app" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".SplashScreenActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
</activity>
</application>
答案 0 :(得分:3)
您可以在清单文件中将活动定义为全屏。
<activity
android:name=".SplashScreenActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 1 :(得分:0)
避免闪屏。
android的一个设计模式是&#34; CONTENT FIRST&#34;。
使用中间加载栏向最终用户提供信息。
答案 2 :(得分:0)
通过定义自定义主题并删除隐藏onCreate方法中操作栏的部分代码来解决。
<style name="SplashScreenTheme" parent="Theme.AppCompat">
<item name="android:windowBackground">@drawable/background</item>
<item name="android:windowNoTitle">true</item>
</style>