我需要在我的蜂窝应用程序中实现启动画面。
我在activity的onCreate中使用这段代码来显示splash:
setContentView(R.layout.splash);
getActionBar().hide();
这段代码将显示主UI:
setContentView(R.layout.main);
getActionBar().show();
但在onCreate被调用和飞溅出现之前,有一小段时间,当动作栏显示。
我怎样才能使动作栏不可见?
我尝试将主题应用于没有动作条的活动:
<item name="android:windowActionBar">false</item>
但在这种情况下,getActionBar()总是返回null,我发现没有办法再次显示它。
我还试图在Android 2.2上隐藏操作栏,但这些解决方案都不起作用。一切都以崩溃告终。我检查了DDMS日志,它告诉我使用“Theme.AppCompat”。最后,我通过改变android:theme="@android:style/ theme . holo . light . noactionbar "行解决了这个问题
为android:主题= " @style / Theme.AppCompat。NoActionBar”,它工作,但界面是黑暗的。
然后我尝试了android:theme="@style/ theme . appcompat . light。NoActionBar”,最终得到了我想要的。
之后,当我在开发者网站上搜索“AppCompat”时,我得到了这个。
所以我认为Android 2.2的解决方案是
<activity
android:name=".MainActivity"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
对我的英语很抱歉,一如既往。
@牧师的解决方案工作。但这似乎也是谷歌的一些原生应用程序的问题:谷歌、play store、talk。还有其他大型应用程序,如skype。
编辑:下面的解决方案给了我的问题actionbarsherlock api < 4.0,原因是setTheme不工作前冰淇淋三明治
在应用程序或活动标签的清单中添加以下内容:
android:theme="@style/Theme.NoActionBar"
然后在你的主要活动中
// Set theme
setTheme(R.style.YOUR_THEME);
getSupportActionBar().setTitle(R.string.title);
// Start regular onCreate()
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);