我有一个包含recyclerview的片段,但是这个片段包含在另一个片段中,该片段通过tablayout打开,如下所示......
<LinearLayout.....
<!-- Main Fragment -->
<TabLayout
...
/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/frame_container"
android:background="@color/white">
....
<!-- RecyclerView Fragment goes here -->
</FrameLayout>
...
</LinearLayout>
我已经安装了一个onScrollListener来检测滚动(使用手指滚动称为DRAGGING的回收视图)以及它何时结算(即当用户将手指移离回收者视图时)。这个代码在下面,它可以工作......
//此方法位于recyclerView片段
内 rv.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
//on scrolling expand fragment to full screen of activity
if(newState == RecyclerView.SCROLL_STATE_DRAGGING){
//Implement code for expanding fragment here
Toast.makeText(getActivity(),"Dragging",Toast.LENGTH_SHORT).show();
}else if(newState == RecyclerView.SCROLL_STATE_SETTLING ){ //on settling return back
Toast.makeText(getActivity(),"Settling",Toast.LENGTH_SHORT).show();
}
}
});
代码有效并且我已经放置了toast消息以显示它正在检测这些手势但是我不知道如何在状态为SCROLL_STATE_DRAGGING时将recyclelerview扩展到全屏并且当recyclerview状态为SCROLL_STATE_SETTLING时折叠。