当前位置:   article > 正文

android开发主界面 WindowBackGround 添加启动页显示解决白屏问题_android studio android:windowbackground设置启动界面

android studio android:windowbackground设置启动界面

以下只是我解决问题过程中的一点点个人总结,点滴积累,贵在坚持,感谢你的阅览!


前言:为解决应用启动白屏和黑屏问题,设置了 windowDisablePreview 属性为 true ,导致应用从启动到显示 view 较慢,产品要求加一个启动页,快速响应桌面图标点击事件;下面是添加启动页的方法;


该方法存在一个问题,就是横屏状态启动竖屏应用或者竖屏状态启动横屏应用时,该方法失效,目前我还不知道解决方案,初步分析是横竖屏切换导致 WindowBackGround 属性设置失效,知道解决方法的欢迎留言告知,不胜感激!


方法有两种,分别是:

1. 新建一个启动页 Activity 作为应用入口,启动后立马显示启动页并自动跳转主界面;

2. 直接在主界面添加 WindowBackGround 显示启动页;


在这里我使用的是方法2,方法一只是在方法二的基础上,换了一个 activity 来实现并多了一个自动跳转而已,完全可以复制粘贴,实现起来很简单!

步骤:

1. 添加启动页图片到资源目录,在这里我添加的是一张图片,命名为 start_activity_layout_bg;

2. 新建 style,设置 windowBackground 为上述图片;

  1. <style name="main_activity_style" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen">
  2. <item name="android:windowIsTranslucent">false</item>
  3. <item name="android:windowDisablePreview">false</item>
  4. <item name="android:windowContentOverlay">@null</item>
  5. <item name="android:windowBackground">@drawable/start_activity_layout_bg</item>
  6. <item name="android:background">@null</item>
  7. </style>

3. 在 AndroidManifest 中主界面 Activity 的 theme 设置为该主题;

  1. <activity
  2. android:name="com.text.ok100.MainActivity"
  3. android:launchMode="singleTask"
  4. android:theme="@style/main_activity_style" >
  5. <intent-filter>
  6. <action android:name="android.intent.action.MAIN" />
  7. <category android:name="android.intent.category.LAUNCHER" />
  8. </intent-filter>
  9. <meta-data
  10. android:name="AppTab"
  11. android:value="NurserySchool/XiGuanAnQuan" >
  12. </meta-data>
  13. </activity>

4. 经过上述操作,启动时就会即时响应桌面图标点击事件,但是还要做下一步,在主界面 Activity 的 onCreate() 的 setContentView() 之前设置 windowBackground 为空或者为透明,否则的话,整个主界面 Activity 就会多一层全屏 view,容易导致过度绘制,代码如下:

  1. @Override
  2. protected void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. this.getWindow().getDecorView().setBackground(null);
  5. setContentView(R.layout.activity_main);
  6. }


最后,如果你要用方法 1 的话,只需要将上述操作替换到你的启动页界面,再将启动页 activity 设置为桌面入口 activity ,然后加一个自动跳转即可!



声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/144709
推荐阅读