我需要创建一个类似于星巴克的效果,其中列表视图(或片段)在标签栏上滚动。
我创建了一个标签栏,在下面我有一个带有回收站视图的viewpager。我可以将recyclerview与标签栏一起移动,但是无法在我的Recycler视图(托管在viewpager中)滚动标签栏的情况下创建效果。
答案 0 :(得分:1)
在你的列表中放置一个scrollListener,并在滚动时将一个小动画放到你试图让它滚动到条形图上的身体
listView.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount,
int totalItemCount) { movingBody.setTranslationY(getScroll());}}
protected int getScroll() {// as list recycles views , getscrollY wont give us how much it has scrolled, hence we use this hack
View firstChildInList = listView.getChildAt(0);
if (firstChildInList == null) return 0;
return firstChildInList.getTop() + listView.getFirstVisiblePosition() * firstChildInList.getHeight();
}
获取滚动用于确定您滚动多少以停止翻译动画 您可以创建自己的条件以启动和停止动画而不是getScroll