当我尝试从第一个活动开始第二个活动时,但在显示新活动布局之前它会显示黑屏。这是我的代码:
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日
我点击的这个View
是ListView
项。当我第一次点击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以黑屏闪烁打开新活动!无论如何,非常感谢你的建议。
答案 0 :(得分:-1)
我遇到了类似的问题,并通过在AndroidManifest.xml
中为第二个活动添加主题来解决:
<activity android:name="com.example.SecondActivity"
android:theme="@style/AppTheme.Transparent"/>