如何通过覆盖应用程序样式来隐藏特定活动样式中的标题栏

时间:2013-06-02 16:44:51

标签: android themes titlebar

我想覆盖特定活动的应用主题,但它不适合我

这是我的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的新手: 我们可以定义全局主题,并在某些活动上覆盖该主题吗?如果是,我们可以使用什么方法?

或者,如果我们定位的是活动而不是应用,我们必须为每个活动定义主题吗?

我还想了解如何在应用中部署自定义主题..如果有一些好的教程和参考资料请分享。

提前致谢!

1 个答案:

答案 0 :(得分:1)

在调用setContentView(...)和super.oncreate()之前尝试使用setTheme(..),它应该在Activity中正常工作。

查看Android developer's site了解详情。