启动活动显示黑色闪光

时间:2014-08-14 14:27:48

标签: android android-intent android-activity android-4.4-kitkat

当我尝试从第一个活动开始第二个活动时,但在显示新活动布局之前它会显示黑屏。这是我的代码:

Intent intent = new Intent(MessagesActivity.this, MessageTextActivity.class);
intent.putExtra("Sender", items.get(position).subject);
intent.putExtra("Date", items.get(position).date);
intent.putExtra("Text", items.get(position).text);
intent.putExtra("Position", position);
startActivity(intent);

在Android 除了KitKat 之后,当我在应用android:theme="@android:style/Theme.Translucent.NoTitleBar"下添加清单时,我在开始其他活动时看不到黑色问题。这很棒,但是如果我删除了android:theme,那么黑色飞溅就会回来。

另一方面,KitKat上的 ,当我删除时 来自清单的android:theme="@android:style/Theme.Translucent.NoTitleBar",它运作良好。 但是,如果我保留android:theme="@android:style/Theme.Translucent.NoTitleBar"我在打开其他活动时也看不到黑色闪屏,但我还有其他问题。问题是,如果用户点击很多次启动新活动的View,那么该地点的桌面上有一些图标,该应用程序就会启动!似乎我的活动(我点击View打开其他的活动)消失了,用户点击桌面上的图标(主屏幕)。

android:theme="@android:style/Theme.Translucent.NoTitleBar"放入清单可以帮助我在除KitKat之外的所有Android版本中。

编辑:2014年5月15日

我点击的这个ViewListView项。当我第一次点击View时,我看不到黑屏闪烁。但是如果我退出我刚刚输入的活动(点击返回),如果我等待1-2秒,我点击View我再也看不到黑色闪光了。但如果我在1-2秒之前点击,则会出现黑屏闪烁。

在第一项活动中,在onResume方法中,我什么都没有。在第二个活动中,在onCreate方法中,我有这个代码:

ThemeManager.loadTheme(this);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_full_message);
initTextViews();
initActionBar();

ThemeManager.loadTheme(this)我在我的活动中设置样式(因为用户可以更改应用中的主题),并且样式定义如下: <style name="Theme.MyTheme.Blue" parent="@style/Theme.Sherlock.Light"><style name="Theme.MyTheme.Green" parent="@style/Theme.Sherlock.Light">

我使用 Sherlock样式

解决方案:)

我发现导致这个黑屏的原因。我在关闭第二个活动时添加了动画,并显示了第一个活动。动画的输入持续时间长于退出活动的持续时间。进入的动画仍然在进行中,然后我单击View以黑屏闪烁打开新活动!无论如何,非常感谢你的建议。

1 个答案:

答案 0 :(得分:-1)

我遇到了类似的问题,并通过在AndroidManifest.xml中为第二个活动添加主题来解决:

<activity android:name="com.example.SecondActivity"
    android:theme="@style/AppTheme.Transparent"/>