如何隐藏主要活动的标题栏?

时间:2016-01-11 08:31:46

标签: android

我想删除或隐藏我的应用程序顶部的标题栏,但仅在主要活动上,我还有2个带有导航栏和空白活动的子活动,这是我的AndroidManifest.xml

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true">

    <activity
        android:name=".StartingScreen"
        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=".AccommodationScreenWithNav"
        android:label="@string/title_activity_accommodation_screen_with_nav"
        android:parentActivityName=".StartingScreen">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.mydomain.test.StartingScreen" />
    </activity>

    <activity
        android:name=".AccommodationDetail"
        android:label="@string/title_activity_accommodation_detail"
        android:parentActivityName=".AccommodationScreenWithNav">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.mydomain.test.AccommodationScreenWithNav" />
    </activity>

</application>

因此,我只想删除或隐藏主activity而不是.AccommodationDetail

我尝试使用Theme.AppCompat.Light.NoActionBar是可行的但是当我跳转到AccommodationDetail活动时,应用程序崩溃或出错。

请帮忙......

感谢。

5 个答案:

答案 0 :(得分:3)

将主要活动的主题设置为Theme.AppCompat.Light.NoActionBar,并将应用的主题设置为Theme.AppCompat.Light。如果没有为活动明确设置主题,它将使用应用程序标记中定义的主题。

答案 1 :(得分:2)

请试试这个 -

Stage

答案 2 :(得分:2)

对于API Level 11+设备,您可以使用:

android:theme="@android:style/Theme.Holo.NoActionBar

解决此类问题的另一种方法是在style.xml文件中创建自己的样式,并将其设置为AndroidManifest.xml文件中的Android活动等特定活动。

打开您的style.xml文件,创建一个新样式,如下所示。选择您自己的名称并将父级设置如下

<style name="your_own_name" parent="Theme.AppCompat.Light.NoActionBar">
</style>

打开您的项目AndroidManifest.xml文件,设置您不希望该栏显示的特定活动的主题名称,并且您已完成

<activity  android:theme ="@style/your_own_name" >
</activity>

有任何问题吗?请随意询问。

应该有帮助

答案 3 :(得分:1)

setcontentview 之前,在Activity onCreate()方法中添加这两行。

this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   WindowManager.LayoutParams.FLAG_FULLSCREEN);//hide notification bar

答案 4 :(得分:1)

platform/android/res/values/styles.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="Theme.MyTheme" parent="@style/_MyTheme"/>
    <style name="_MyTheme" parent="Theme.AppCompat.Light.NoActionBar">
</resources>

AndroidManifest.xml

android:theme="@style/Theme.MyTheme"