and*_*XXX 14 android android-intent android-activity start-activity android-studio
当我从一个活动移动到另一个活动时,将显示白色屏幕2秒钟.我正在使用此代码:
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
Ziw*_*eng 21
像这样创建一个主题:
<style name="YourTheme" parent="YourParentTheme">
<item name="android:windowDisablePreview">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
将此主题应用于您的第二个活动
更多详细信息,请访问:http://www.tothenew.com/blog/disabling-the-preview-or-start-window-in-android/
如果您的 Activity 包含更复杂的布局,请不要finish()在设置标志后使用。改用FLAG_ACTIVITY_CLEAR_TOP and _TASK它,它将解决您的问题。这对我来说非常有效
Intent intent = new Intent(this, SecondActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.l?FLAG_ACTIVITY_CLEAR_TOP );
startActivity(intent);
或简单地使用如下
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
小智 5
当从 ActivityOne 切换到 ActivityTwo 时,直到 ActivityTwo onCreate 方法被执行,默认背景显示为白/黑屏。好的做法是不要在 onCreate 中进行繁重的操作。要解决此问题,请将透明背景设置为 ActivityTwo,如下所示。
<style name="YourTheme" parent="YourParentTheme">
<item name="android:windowBackground">@android:color/transparent</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在 Manifest 设置在主题之上
<activity
android:name=".ActivityTwo"
android:theme="@style/YourTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
尝试intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);在调用之前添加startActivity(intent);
Intent intent = new Intent(this, SecondActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8148 次 |
| 最近记录: |