我在设计支持库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);
}
答案 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
对我有用。你可以尝试一下吗?