折叠工具栏标题消失

时间:2015-09-30 09:51:33

标签: android android-layout android-toolbar android-menu android-design-library

我在设计支持库23.0.1上,我正在使用带有视差图像的折叠工具栏布局。我不明白为什么当工具栏完全折叠(固定)时,如果单击某个操作按钮(特别是我刷新其图像),标题会消失。之后如果我将标题下拉到总扩展并重新点击操作按钮,标题将返回。

ACTIVITY LAYOUT

<!-- App bar -->
<android.support.design.widget.AppBarLayout
    android:id="@+id/app_bar"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:fitsSystemWindows="true"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">

    <!-- Collapsing toolbar layout -->
    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginBottom="32dp"
        app:expandedTitleMarginEnd="64dp"
        app:expandedTitleMarginStart="48dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">

        <!-- Image Parallax -->
        <ImageView
            android:id="@+id/header"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:contentDescription=""
            android:fitsSystemWindows="true"
            android:scaleType="centerCrop"
            edo:layout_collapseMode="parallax" />

        <!-- Toolbar -->
        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            app:layout_collapseMode="pin"
            edo:popupTheme="@style/ThemeOverlay.AppCompat.Light">

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

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

<!-- Nested scroll view -->
<android.support.v4.widget.NestedScrollView
    android:id="@+id/nested_scroll_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    edo:layout_behavior="@string/appbar_scrolling_view_behavior">

</android.support.v4.widget.NestedScrollView>

动作菜单布局

<item
    android:id="@+id/action_bookmark"
    android:icon="@mipmap/bookmark_empty_white"
    android:title="@string/add_news_to_bookmarks"
    app:showAsAction="ifRoom" />

OPTIONS SELECTED

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (news != null) {
        switch (item.getItemId()) {
            case R.id.action_bookmark:
                if (Utils.isNetworkAvailable(activity)) {
                    if (news.getBookmarked()) {
                        bookmarked = false;
                        item.setIcon(R.mipmap.bookmark_empty_white);
                        deleteBookmark();
                    } else {
                        bookmarked = true;
                        item.setIcon(R.mipmap.bookmark_white);
                        postBookmark();
                    }
                } else {
                    handleError(Config.API_ERR_CONNECTION);
                }

                return true;
        }
    }

    return super.onOptionsItemSelected(item);
}

3 个答案:

答案 0 :(得分:4)

这是Android方面的一个错误。他们已经意识到这一点,并且可能会在将来的版本中修复:https://code.google.com/p/android/issues/detail?id=183333

变通方法发布在链接中,但没有一个能解决我的问题。

编辑:问题已通过Support Library v23.1.0

修复

答案 1 :(得分:3)

此错误似乎已通过support library v23.1.0修复。

答案 2 :(得分:0)

我有这个奇怪的issue

从中删除属性android:fitsSystemWindows="true" 只是AppBarLayout对我有用。你可以尝试一下吗?