我想制作一个位于 scrollview 内的视图(实际上是一个按钮),但是当用户向下滑动并且按钮向上时,它只会向上移动直到它到达可见屏幕的顶部,然后像固定的一样停留在那里标题,直到用户再次向上滚动,然后它返回到原来的位置。
我已经给出了屏幕以便更好地理解。
我想制作一个位于 scrollview 内的视图(实际上是一个按钮),但是当用户向下滑动并且按钮向上时,它只会向上移动直到它到达可见屏幕的顶部,然后像固定的一样停留在那里标题,直到用户再次向上滚动,然后它返回到原来的位置。
我已经给出了屏幕以便更好地理解。
我解决这个问题的一种方法是在滚动视图之外复制相同的视图并将其隐藏。仅在旧按钮再次可见时使其可见。
@Override
public void onScrollChanged(ObservableScrollView scrollView, int x, int y,
int oldx, int oldy) {
Rect scrollBounds = new Rect();
scrollView.getHitRect(scrollBounds);
if (mPriceBtn.getLocalVisibleRect(scrollBounds)) {
// View is within the visible window
mPriceHiddenBtn.setVisibility(View.GONE);
} else {
// View is not within the visible window
//mPriceBtn.setY(y);
mPriceHiddenBtn.setVisibility(View.VISIBLE);
}
}
看看这个教程。它是关于具有类似行为的 ActionBar,由 Google 自己的一些 Android 开发人员制作。我猜你可以在那里找到你需要的大部分东西。