隐藏主题操作,特别是在应用程序启动时很棘手.不幸的是,没有办法一致地删除那个初始转换,因为没有人知道运行它的设备有多快/慢.在为主要活动的布局膨胀之前,Android将始终在默认主题中显示空白背景.
但隐藏它有一个技巧.用户打开应用时显示的启动画面,并在加载初始活动后淡出.这样,启动屏幕隐藏了主题转换,而不会刺激用户.飞溅屏幕得到了一些当之无愧的仇恨,但这样的情况确实证明了它们的使用.同样,我不知道您的应用程序的具体细节,但您必须权衡具有启动画面和平滑过渡与没有启动画面和不和谐过渡的优缺点.
有很多方法可以实现启动画面.在你的情况下,我会尝试创建一个具有中性主题的启动器活动,并为启动画面和主要活动之间的过渡应用平滑动画,如下所示:
startActivity( new Intent( LauncherActivity.this, MainActivity.class ) );
overridePendingTransition( R.anim.fade_in, R.anim.fade_out );
和动画:
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:duration="300" />
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="0.0" android:toAlpha="1.0"
android:duration="300" />