林使用FloatingActionButton从android.support.design.widget包:
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_marginBottom="20dp"
android:layout_marginEnd="16dp"
android:clickable="true"
android:backgroundTint="@color/primaryColor"
android:src="@drawable/ic_search_white_24dp"
app:borderWidth="0dp"
app:elevation="6dp"
app:backgroundTint="@color/primaryColorDark"
app:rippleColor="@color/accentColor" />
Run Code Online (Sandbox Code Playgroud)
当列表视图向下滚动时是否可以将该按钮配置为隐藏动画,并在列表视图滚动到顶部时再次显示该按钮?
试图实现一个Floating Action Button隐藏在向下滚动的(FAB),并在向上滚动时显示.
我必须ScrollAwareFABBehavior.java管理它,并且它连接到XML中的FAB activity_main.问题: FAB隐藏在向下滚动,但在向上滚动时不再显示.我记录了该onNestedScroll方法,并在向下滚动时调用"调用滚动"和"调用隐藏"; 但是在FAB被隐藏之后,没有3x Log的
问题:为什么在FAB隐藏后向上滚动时FAB不显示.
ScrollAwareFABBehavior.java:
import android.content.Context;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.FloatingActionButton;
import android.support.v4.view.ViewCompat;
import android.util.AttributeSet;
import android.util.Log;
import android.view.View;
public class ScrollAwareFABBehavior extends FloatingActionButton.Behavior {
public ScrollAwareFABBehavior(Context context, AttributeSet attrs) {
super();
}
@Override
public boolean onStartNestedScroll(final CoordinatorLayout coordinatorLayout, final FloatingActionButton child,
final View directTargetChild, final View target, final int nestedScrollAxes) {
// Ensure we react to vertical scrolling
return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL
|| super.onStartNestedScroll(coordinatorLayout, child, …Run Code Online (Sandbox Code Playgroud) java android floating-action-button android-coordinatorlayout