【问题标题】:actionbar in desired activities所需活动中的操作栏
【发布时间】:2018-07-15 11:09:49
【问题描述】:

我对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>

但我仍然有同样的问题...如何使操作栏仅对第二个活动可见?!

【问题讨论】:

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


    【解决方案1】:

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

     <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>
    

    【讨论】:

    • 同样的事情发生在下一个活动中,那里没有可见的操作栏:/
    • 您的主要活动从何而来?
    • AppCompatActivity
    • 将应用程序主题更改为您的主要活动主题
    【解决方案2】:
    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");
    

    【讨论】:

      猜你喜欢
      • 2014-10-12
      • 1970-01-01
      • 2018-01-04
      • 1970-01-01
      • 1970-01-01
      • 2013-07-19
      • 2015-08-07
      • 1970-01-01
      • 2019-03-01
      相关资源
      最近更新 更多