Tag: android coordinatorlayout

自定义布局行为

我怎样才能达到底线的这种行为 ? 它的工作方式类似于浮动动作按钮的滚动感知行为,但是当recyckerview滚动到底部时,它会拉动该面板(就像在回收视图中的最后一个元素就是该面板)。 我不认为开发者重复了这些观点。 也许有可能以某种方式扩展行为? 以下是滚动感知行为的代码: class ScrollAwareBehavior : CoordinatorLayout.Behavior<View> { constructor() : super() constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) override fun onStartNestedScroll(coordinatorLayout: CoordinatorLayout?, child: View?, directTargetChild: View?, target: View?, nestedScrollAxes: Int): Boolean { return nestedScrollAxes==ViewCompat.SCROLL_AXIS_VERTICAL } override fun onNestedScroll(coordinatorLayout: CoordinatorLayout?, child: View?, target: View?, dxConsumed: Int, dyConsumed: Int, dxUnconsumed: Int, dyUnconsumed: Int) { […]

滚动不适用于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布局看起来像这样: […]

ScrollAwareFABBehavior防止在回收站查看overscroll边缘效应

我正在使用FAB隐藏和显示取决于用户是否向上或向下滚动的自定义行为。 这里是代码: class ScrollAwareFABBehavior(context: Context, attrs: AttributeSet) : FloatingActionButton.Behavior(context, attrs) { var hidden = false var animatingOut = false var animatingIn = false override fun onStartNestedScroll(coordinatorLayout: CoordinatorLayout, child: FloatingActionButton, directTargetChild: View?, target: View?, nestedScrollAxes: Int): Boolean { // Ensure we react to vertical scrolling return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL } override fun onNestedScroll(coordinatorLayout: CoordinatorLayout, child: FloatingActionButton, […]