Android 具有cordinator布局的操作栏不';";snap";完全隐藏或完全暴露在部分更改上
我已使用协调器布局来实现折叠操作栏的栏。Android 具有cordinator布局的操作栏不';";snap";完全隐藏或完全暴露在部分更改上,android,androiddesignsupport,Android,Androiddesignsupport,我已使用协调器布局来实现折叠操作栏的栏。 现在我的问题是,我滚动到足够小,可以部分隐藏操作栏,而下面的部分就停留在那里
现在我的问题是,我滚动到足够小,可以部分隐藏操作栏,而下面的部分就停留在那里<我想要的是,即使我把它部分隐藏起来;它(下面带有几个按钮的栏)应该与操作栏合并。(类似于Whatsapp)
我的代码是:
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/app_bar_layout"
layout="@layout/pmp_toolbar_2" />
<android.support.v7.widget.RecyclerView
android:id="@+id/pmp_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
更新:
见阿披实的评论;这个问题在库更新中得到解决我使用以下布局来实现whatsapp那样的滚动效果
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_done" />
</android.support.design.widget.CoordinatorLayout>
试试这个:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBar"
android:layout_width="match_parent"
android:layout_height="192dp"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapseToolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="80dp"
app:expandedTitleMarginStart="30dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:title="Custom Layout">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:scaleType="fitXY"
android:src="@drawable/bridge"
app:layout_collapseMode="pin"
app:layout_collapseParallaxMultiplier="1.5"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
app:layout_collapseMode="pin"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:backgroundTint="@android:color/holo_blue_dark"
app:elevation="10dp"
android:translationZ="10dp"
android:layout_marginRight="20dp"
app:layout_anchor="@+id/appBar"
app:layout_anchorGravity="bottom|right|end"
app:borderWidth="0dp"
android:visibility="gone"
android:src="@drawable/plus" />
<android.support.v7.widget.RecyclerView
android:id="@+id/uid"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
这是Android设计支持库中的一个带有工具栏的工具。自9月9日起,Android问题跟踪系统将其标记为“FutureRelease”,这意味着修复程序很快就会发布注意,修复程序尚未发布。
编辑:如果你现在真的想自己解决这个问题,在另一个问题中有一个解决方法:(通过错误报告本身找到这个链接)
最新编辑(已解决):
这在支持库v23.1.0中已修复。看见
你说的合并是什么意思?如果你想让它消失,使用全屏。否则,就让它在那里,不要让动作栏滚动。@mrek实际上你在下面看到的栏(带图标)是用动作栏折叠的。对不起,我不明白你的确切意思。@mrek问题是我希望动作栏的行为与whatsapp的行为完全一样。在whatsapp的这个阶段,你试图离开动作栏;它不会停留。它要么向上移动,要么向下移动,你认为呢?我认为这是因为include
分支覆盖了通常的行为。检查上面的教程-这可能会有帮助。我做过类似的事情,但我会检查它是否有效。我想你误解了我的问题。。我没有挑战,在得到这个布局-挑战是,我无法得到的快照effect@AnswerDroid你想达到什么样的抓拍效果?只要试着滚动一下有标签的whatsapp屏幕就可以了。。若您将其保留,它将与工具栏完全合并,或者根本不会合并。如果停止滚动,您将无法获得视图(如上图所示)。这就是我所说的快照效果,我明白了您的意思。它不会停止在您离开滚动的位置。让我再检查一遍代码。我在获取此布局方面没有挑战-挑战是我无法获得快照效果,请尝试滚动带有选项卡的whatsapp屏幕。。若您将其保留,它将与工具栏完全合并,或者根本不会合并。如果停止滚动,您将无法获取视图(如上图所示)。我明白了吗?首先感谢您理解了问题本身下次有人说这是一个bug时,请提供指向Android bug报告的链接,您通常可以在那里找到其他人发布的解决方法:)
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBar"
android:layout_width="match_parent"
android:layout_height="192dp"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapseToolbar"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="80dp"
app:expandedTitleMarginStart="30dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:title="Custom Layout">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:scaleType="fitXY"
android:src="@drawable/bridge"
app:layout_collapseMode="pin"
app:layout_collapseParallaxMultiplier="1.5"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
app:layout_collapseMode="pin"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:backgroundTint="@android:color/holo_blue_dark"
app:elevation="10dp"
android:translationZ="10dp"
android:layout_marginRight="20dp"
app:layout_anchor="@+id/appBar"
app:layout_anchorGravity="bottom|right|end"
app:borderWidth="0dp"
android:visibility="gone"
android:src="@drawable/plus" />
<android.support.v7.widget.RecyclerView
android:id="@+id/uid"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>