工具栏没有响应任何内容

时间:2016-06-16 16:33:02

标签: java android xml toolbar

我遇到了一个非常有趣的问题,我试图在很长一段时间内解决这个问题。 我以前在Android中为视图添加了工具栏,但从未遇到过以下问题。

直接访问工具栏或按setSupportActionBar(myToolbar)分配时工具栏本身无法以任何方式修改。我甚至尝试将视图设置为已消失,但它无效。同样,工具栏上没有任何内容。没有应用程序名称,没有汉堡包菜单或后退箭头,没有。

以下相关代码:

BaseActivity.java

@Nullable
@BindView(R.id.app_bar)
protected Toolbar mToolbar;

private Unbinder unbinder;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(getLayoutResource());
    unbinder = ButterKnife.bind(this);

    if(mToolbar != null) {
        Timber.tag("Toolbar").d("Toolbar is not null. Oh glorious day");
        setSupportActionBar(mToolbar);
    }
}

base_drawer_activity.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v4.widget.DrawerLayout
        android:id="@+id/drawer_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:fitsSystemWindows="true">

            <android.support.design.widget.AppBarLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:fitsSystemWindows="true"
                android:orientation="vertical">

                <include
                    android:id="@+id/app_bar"
                    layout="@layout/toolbar" />

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

            <FrameLayout
                android:id="@+id/container_frame"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:clipToPadding="true">

            </FrameLayout>

        </LinearLayout>

        <android.support.design.widget.NavigationView
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/navigation_view"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:fitsSystemWindows="true"/>

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

toolbar.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    android:clipToPadding="true"
    app:layout_collapseMode="pin"
    app:layout_scrollFlags="scroll|enterAlways"
    android:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>

styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowBackground">@color/colorDefaultBackground</item>
    </style>

</resources>

我的清单中的应用标签也有android:theme="@style/AppTheme"设置

视图中的工具栏本身不为空(已经检查过) 而且它不是SDK本身,因为我使用创建支持操作栏的相同方法打开了一个项目,并且它工作正常。

我错过了一些非常明显的东西吗?

1 个答案:

答案 0 :(得分:1)

解决了!

看了一下之后,我发现我的子类实际上正在调用setContent,以及我的父类,覆盖了对我所做视图的任何更改。

对我来说只是一个简单的疏忽。