所需活动中的动作栏

时间:2018-02-05 14:52:04

标签: android android-activity android-actionbar android-manifest

我对styles.xml有疑问。 当我将windowActionBar设置为false时,这将设置为我的应用程序中的所有活动。我不想要那个。我只是希望这是我的第一个活动(启动画面),我的下一个活动将有一个动作栏。

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme2" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="windowActionBar">true</item>
        <item name="windowNoTitle">true</item>
    </style>

我认为如果我为下一个活动设置自定义主题,这个问题将成为过去。这是我的清单:

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true">
        <activity
            android:name=".SplashActivity"
            android:theme="@style/AppTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:theme="@style/MyTheme2"></activity>
    </application>

</manifest>

但我仍有同样的问题......如何才能让动作栏仅显示第二个活动?!

2 个答案:

答案 0 :(得分:0)

您的启动活动应该不使用下面的操作栏主题:

 <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:theme="@style/AppTheme"
    android:supportsRtl="true">
    <activity
        android:name=".SplashActivity"
        android:theme="Theme.AppCompat.Light.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".MainActivity"
         ></activity>
</application>

答案 1 :(得分:0)

You can have toolbar in any activity in which you want to have actionbar 

You can set title programmatically to a toolbar 
ActionBar ActionBar;
Toolbar toolbar = findviewid(R.id.toolbaar);
Setsupportactionbar(toolbaar);
actionbar= getsupportactionbar();
actionbar.settitle("your title");