禁用时在某个活动中设置新的ActionBar

Posted

技术标签:

【中文标题】禁用时在某个活动中设置新的ActionBar【英文标题】:Setting new ActionBar in a certain activity when it was disabled 【发布时间】:2017-02-25 12:35:30 【问题描述】:

我是 android 开发新手,如果这是一个愚蠢的问题,我深表歉意。我已经在 AndroidManifest.xml 中禁用了操作栏,就像 android:theme="@style/AppTheme.NoActionBar" 一样,但我在某个活动中需要操作栏。如何仅为该活动创建和设置新的操作栏?

编辑: 我忘了提到我想要一个动作栏的活动是没有动作栏的活动的子项。我想这会导致问题。

【问题讨论】:

Apply a theme to an activity in Android?的可能重复 【参考方案1】:

为清单中的特定活动定义主题。

<activity
android:theme="@style/AppTheme.NoActionBar"
>

【讨论】:

【参考方案2】:

最好的办法就是解决这个问题

<activity android:name=".MainActivity"  android:theme="@style/AlertDialog.AppCompat.Light" android:label="activity_with_actionbar" />

还有

    <activity android:name=".SecondActivity"  android:theme="@style/Theme.AppCompat.NoActionBar" android:label="activity_with_no_actionbar" />

【讨论】:

【参考方案3】:

你可以做相反的事情,即在AndroidManifest中保持主题为android:theme="@style/AppTheme"

在您希望看到 ActionBar 的活动中,在其 onCreate 方法中添加以下代码:

getSupportActionBar().hide();

【讨论】:

【参考方案4】:

为清单中的每个活动专门添加主题

<activity
    android:name=".MainActivity"
    android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
  </activity>

【讨论】:

【参考方案5】:

您可以创建自定义操作栏。并在你需要有一个动作栏的活动中实现 ActionBar 类。这是做你想做的事情的非常简单的方法。关注this 教程。

【讨论】:

以上是关于禁用时在某个活动中设置新的ActionBar的主要内容,如果未能解决你的问题,请参考以下文章

创建后如何在 JTextField 中设置新文本?

如何在禁用布局时在引导程序中设置的 Zend 控制器中回显头部链接

在 java、dom、xml 解析中设置新节点值的问题

如何在 iOS 上的 Core Data 中设置新创建的关系?

使用 docker 客户端在 python 中设置新容器时权限被拒绝错误

使用 iTextSharp HTMLWorker (html to pdf) 在 HTML 中设置新页面