所需活动中的操作栏
Posted
技术标签:
【中文标题】所需活动中的操作栏【英文标题】: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>
但我仍然有同样的问题...如何使操作栏仅对第二个活动可见?!
【问题讨论】:
【参考方案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");
【讨论】:
以上是关于所需活动中的操作栏的主要内容,如果未能解决你的问题,请参考以下文章