我想覆盖特定活动的应用主题,但它不适合我
这是我的Manifest.xml上的代码:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Sherlock.Light" >
<activity
android:theme="@style/MyTheme"
android:name="com.ssdevnet.Splash"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.ssdevnet.Home"
android:label="@string/app_name" />
</application>
这就是我用的风格:
<style name="MyTheme" parent="Theme.Sherlock.Light.DarkActionBar">
<item name="android:windowNoTitle">true</item>
</style>
它仍然无法在Android 2.3.6或更低版本上运行,但仍在使用3及以上版本。
此外,我尝试在该特定页面的类文件的oncreate方法中使用它:
requestWindowFeature(Window.FEATURE_NO_TITLE);// Removes title bar
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); // Removes notification bar
但它不能在我的手机上运行Android 2.3.6,但它在运行Jellybean的Emulator上工作,我需要适用于所有版本的东西。
我需要知道一些事情,因为我是android的新手: 我们可以定义全局主题,并在某些活动上覆盖该主题吗?如果是,我们可以使用什么方法?
或者,如果我们定位的是活动而不是应用,我们必须为每个活动定义主题吗?
我还想了解如何在应用中部署自定义主题..如果有一些好的教程和参考资料请分享。
提前致谢!
答案 0 :(得分:1)
在调用setContentView(...)和super.oncreate()之前尝试使用setTheme(..),它应该在Activity中正常工作。
查看Android developer's site了解详情。