【问题标题】:Android hiding custom ActionBarAndroid隐藏自定义ActionBar
【发布时间】:2015-03-29 16:41:57
【问题描述】:

我正在为我的 ActionBar 使用自定义背景。我按照here 的教程进行操作。

我的 styles.xml 看起来像这样:

  <resources>
    <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">@color/actionbar_bg</item>
    </style>
</resources>

我希望这个 ActionBar 显示在每个活动上,除了登录 .. 所以我从我的登录活动中隐藏了 ActionBar(来自:stackoverflow):

public class Login extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    ActionBar actionBar = getSupportActionBar();
    actionBar.hide();

在我的清单中,我添加了自定义主题......像这样:

 <application
    android:allowBackup="true"
    android:label="@string/app_name"
    android:theme="@style/MyTheme"
    >

当我运行应用程序时,我收到错误:您需要在此活动中使用 Theme.AppCompat 主题(或后代)

所以我在 stackoverflow 上搜索了 solution。我不得不扩展 Activity 而不是 ActionBarActivity。我这样做了,也是在我的登录活动上。

但是现在......我不能再在我的登录活动中隐藏 ActionBar,因为它不再扩展 ActionBarActivity ......所以下面的代码:

   ActionBar actionBar = getSupportActionBar();

不会工作.. 任何人都知道如何在登录活动中仍然隐藏操作栏,但仍然使用自定义操作栏主题?

TL;DR:我想使用自定义操作栏,但我想在我的登录活动中隐藏它。我可以让操作栏工作,但前提是我让我的登录活动从 Activity 扩展,而不是 ActionBarActivity - 这会导致 getSupportActionBar();停止工作,所以我不能再隐藏操作栏了。

【问题讨论】:

  • 您无需隐藏,只需为您的登录活动使用另一个主题即可。我正在尝试在任何地方使用支持库,所以我使用Theme.AppCompat.Light.NoActionBar 作为我的父主题并将工具栏设置为我真正需要它的操作栏:)

标签: android android-actionbar


【解决方案1】:

创建一个父主题为Theme.Holo.Light.NoActionBar 的主题。使用android:theme 参数将其分配给您的登录活动。

【讨论】:

  • 工作得很好,现在已经挣扎了几个小时。我会将此答案标记为正确(剩余 4 分钟)。谢谢!
【解决方案2】:

只需在 setContentView() 方法之前的 onCreate 方法中添加以下代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    this.requestWindowFeature(Window.FEATURE_NO_TITLE); // add this line

    setContentView(R.layout.login_layout);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多