赞
踩
以下只是我解决问题过程中的一点点个人总结,点滴积累,贵在坚持,感谢你的阅览!
前言:为解决应用启动白屏和黑屏问题,设置了 windowDisablePreview 属性为 true ,导致应用从启动到显示 view 较慢,产品要求加一个启动页,快速响应桌面图标点击事件;下面是添加启动页的方法;
该方法存在一个问题,就是横屏状态启动竖屏应用或者竖屏状态启动横屏应用时,该方法失效,目前我还不知道解决方案,初步分析是横竖屏切换导致 WindowBackGround 属性设置失效,知道解决方法的欢迎留言告知,不胜感激!
方法有两种,分别是:
1. 新建一个启动页 Activity 作为应用入口,启动后立马显示启动页并自动跳转主界面;
2. 直接在主界面添加 WindowBackGround 显示启动页;
在这里我使用的是方法2,方法一只是在方法二的基础上,换了一个 activity 来实现并多了一个自动跳转而已,完全可以复制粘贴,实现起来很简单!
步骤:
1. 添加启动页图片到资源目录,在这里我添加的是一张图片,命名为 start_activity_layout_bg;
2. 新建 style,设置 windowBackground 为上述图片;
- <style name="main_activity_style" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen">
- <item name="android:windowIsTranslucent">false</item>
- <item name="android:windowDisablePreview">false</item>
- <item name="android:windowContentOverlay">@null</item>
- <item name="android:windowBackground">@drawable/start_activity_layout_bg</item>
- <item name="android:background">@null</item>
- </style>
- <activity
- android:name="com.text.ok100.MainActivity"
- android:launchMode="singleTask"
- android:theme="@style/main_activity_style" >
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- <meta-data
- android:name="AppTab"
- android:value="NurserySchool/XiGuanAnQuan" >
- </meta-data>
- </activity>
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- this.getWindow().getDecorView().setBackground(null);
- setContentView(R.layout.activity_main);
- }
最后,如果你要用方法 1 的话,只需要将上述操作替换到你的启动页界面,再将启动页 activity 设置为桌面入口 activity ,然后加一个自动跳转即可!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。