【问题标题】:Android Toolbar doesn't hide a titleAndroid 工具栏不隐藏标题
【发布时间】:2017-01-29 16:40:36
【问题描述】:

我无法在我的Toolbar 中隐藏我设置为ActionBar 的标题。 这是我的活动风格:

<style name="Theme.Paper" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/primary</item>
    <item name="colorPrimaryDark">@color/primary_dark</item>
    <item name="colorAccent">@color/accent</item>
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="windowActionModeOverlay">true</item>
</style>

布局:

<layout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">

    <data>
        <!-- some data -->
    </data>

    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/Theme.Paper.AppBarOverlay">

            <include
                android:id="@+id/toolbar_layout"
                layout="@layout/toolbar_spinner"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>

        </android.support.design.widget.AppBarLayout>

    </android.support.design.widget.CoordinatorLayout>

</layout>

还有Toolbar布局:

<layout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        app:popupTheme="@style/Theme.Paper.Toolbar.PopupOverlay"
        app:theme="@style/Theme.Paper.Spinner.PopupOverlay">

        <Spinner
            android:id="@+id/toolbar_spinner"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            app:popupTheme="@style/Theme.Paper.Spinner.PopupOverlay"/>

    </android.support.v7.widget.Toolbar>
</layout>

这里的代码在onCreate 方法中:

mBinding = DataBindingUtil.setContentView(this, R.layout.activity_editor);
//Set ToolBar
setSupportActionBar(mBinding.toolbarLayout.toolbar);
//Up navigation
ActionBar actionBar = getSupportActionBar();

if (actionBar != null) {
    actionBar.setDisplayShowTitleEnabled(false); // Try to hide a title
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setHomeAsUpIndicator(VectorDrawable
       .getDrawable(this, R.drawable.ic_close_white_24dp));
}

但它不起作用,标题仍然显示。
哪里有问题?

添加
这是我的调试屏幕:
如您所见,我的ActionBar 不为空。

【问题讨论】:

  • 我认为您不应该创建 ActionBar 并将其分配为 getSupportActionBar(); 只需调用 getSupportActionBar().setDisplayShowTitleEnabled(false); 每次都对我有用。
  • 它是平等的。但我也已经检查过这个版本。它不起作用。

标签: android android-actionbar-compat


【解决方案1】:

当您使用工具栏时,您可以使用:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("");

【讨论】:

  • 谢谢!我知道我可以设置一个空文本。但我想知道为什么正常的变体不起作用。
  • 你正在使用主题 NoActionBar 所以你的 ActionBar actionBar = getSupportActionBar();...将给 null
  • 伙计,我设置了一个Toolbar,就像一个ActionBar,它不为空。作为论点,我的程序运行良好。
  • 好的..但是如果actionBar.setDisplayShowTitleEnabled(false)这行执行它应该删除标题
  • 我认为都一样,但它不起作用。这是我的问题:为什么? (我更新了我的线程,你可以确定我的ActionBar 不为空)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多