前段时间,在开发项目时发现打开欢迎页面会闪一下黑色,再显示欢迎页面。我的主题背景就是黑色的,估计是主题的问题。
下面做了个demo,是有闪屏的欢迎页面:

下面是WelcomeActivity的代码:
/*** 欢迎页面** @author chenjunxu* @date 2016/6/8*/
public class WelcomeActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome);handleWelcome();}/*** 处理欢迎页面*/private void handleWelcome() {new Handler().postDelayed(new Runnable() {@Overridepublic void run() {Intent intent = new Intent(WelcomeActivity.this, MainActivity.class);startActivity(intent);WelcomeActivity.this.finish();}}, 1500);}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 需要注意的是去掉标题栏的代码。如果是继承Activity,则
this.requestWindowFeature(Window.FEATURE_NO_TITLE)
- 如果是继承ActionBarActivity(已过时)或者AppCompatActivity ,则
this.supportRequestWindowFeature(Window.FEATURE_NO_TITLE)
说回正题,解决闪屏只需要设置一个透明的Theme,在styles.xml添加如下代码,问题就可以解决了。这样,用户体验也好了。
<style name="WelcomeTheme" parent="AppTheme"><item name="android:windowIsTranslucent">true</item></style>
这是解决后的效果图:
