Tag: collapsingtoolbarlayout

如何避免CollapsingToolbarLayout不被捕捉或滚动时“摇晃”?

背景 假设你已经创建了一个应用程序,它有一个类似于你可以通过“滚动活动”向导创建的UI,但是你希望滚动标志具有对齐性,例如: 问题 事实certificate,在许多情况下,它具有捕捉问题。 有时UI不会捕捉到顶部/底部,使CollapsingToolbarLayout停留在之间。 有时它也会尝试一个方向,然后决定打到另一个方向。 您可以在这里看到所附video的两个问题。 我试过了 我认为这是我在RecyclerView中使用setNestedScrollingEnabled(false)时得到的问题之一,所以我在这里问了一下 ,但后来我注意到,即使使用解决方案,根本不使用此命令,甚至在使用一个简单的NestedScrollView(由向导创建),我仍然可以注意到这种行为。 这就是为什么我决定在这里报告这个问题。 可悲的是,我无法findStackOverflow上那些奇怪的错误的解决方法。 这个问题 为什么会发生,更重要的是:我怎样才能避免这些问题,同时仍然使用它应该有的行为? 编辑:这是一个不错的改进Kotlin版本的接受答案: class RecyclerViewEx @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) : RecyclerView(context, attrs, defStyle) { private var mAppBarTracking: AppBarTracking? = null private var mView: View? = null private var mTopPos: Int = 0 private var mLayoutManager: LinearLayoutManager? […]

滚动不适用于CoordinatorLayout +视差图像+ BottomSheetLayout

介绍 我有一个活动,使用CoordinatorLayout , AppBarLayout和CollapsingToolbarLayout实现一个常见的模式与视差标题图像和滚动内容。 我的xml布局看起来像这样: <android.support.design.widget.CoordinatorLayout android:fitsSystemWindows="true" android:layout_height="match_parent" android:layout_width="match_parent"> <android.support.design.widget.AppBarLayout android:fitsSystemWindows="true" android:id="@+id/appbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.design.widget.CollapsingToolbarLayout android:fitsSystemWindows="true" android:layout_height="wrap_content" android:layout_width="match_parent" app:contentScrim="?attr/colorPrimary" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <TextView android:background="@color/colorAccent" android:gravity="center" android:layout_height="250dp" android:layout_width="match_parent" android:text="ParallaxImage" app:layout_collapseMode="parallax"/> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_height="?attr/actionBarSize" android:layout_width="match_parent" app:layout_collapseMode="pin" app:popupTheme="@style/AppTheme.PopupOverlay"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:id="@+id/content" android:layout_height="match_parent" android:layout_width="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <TextView android:layout_height="wrap_content" android:layout_margin="@dimen/text_margin" android:layout_width="wrap_content" android:text="@string/large_text"/> </android.support.v4.widget.NestedScrollView> </android.support.design.widget.CoordinatorLayout> 正如你可以看到在下面的GIF动画,一切工作正常。 您可以从内容NestedScrollView以及Toolbar或视差View滚动整个屏幕。 问题 Google推出了一个BottomSheetBehavior类(Android设计支持库23.2 )来帮助开发者实现Bottom表 。 底部工作表的我的XML布局看起来像这样: […]

无法单击CollapsingToolbarLayout中的项目

我已经实现了如下所示的CollapsingToolbarLayout : 当我滚动的时候会崩溃,但是有一个很大的问题:我无法点击它里面的项目(后退按钮,编辑按钮,编辑文本框等)。 没有任何项目对点击/触摸事件作出反应。 现在,“逻辑”位于XML中,结构如下: <CoordinatorLayout> <AppBarLayout> <CollapsingToolbarLayout> <RelativeLayout/> here's where the panel layout sits <Toolbar/> <NestedScrollView/> //close tags as appropriate here 如何使项目可点击(当然,不是通过设置android:clickable="true"肯定)? 在Java/Kotlin代码中编写监听器是否可能?