启动Activity时显示空白界面的问题

时间:2021-08-09 13:28:26

问题描述:

  启动activity时,先显示一个空白的界面,带标题栏的,1秒左右的时间后才显示activity对应 layout上的内容。

解决办法:

  将activity的windows设置为透明的就可以了。

  1,在自定义的主题中

    使用  <item name="android:windowIsTranslucent">true</item> 。

    <!-- item name="android:windowBackground"         设置背景透明度及其颜色值 -->
<!-- item name="android:windowIsTranslucent" 设置当前Activity是否透明-->
<!-- item name="android:windowAnimationStyle" 设置当前Activity进出方式-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
<item name="android:windowBackground">@color/translucent_background</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Translucent</item>
</style>

  2,使用两个主题

    先使用@android:style/Theme.Translucent 或 @android:style/Theme.Translucent.NoTitleBar主题

       在activity的onCreate()中在super.onCreate(savedInstanceState);前调用setTheme设置目标主题,注意setTheme一定要在super.onCreate前。

   @Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppBaseTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.aty_main);
ActionBar ab = getActionBar();
if (ab != null) {
ab.hide();
}
}