在自己做的项目中有购物车这个功能,然后自己就将这个做了一个简单的demo实现了显示效果。希望指正。
上图就是效果图。
具体实现:
布局是一个activity,然后将activity的背景设置为透明的。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="#50000000"
android:id="@+id/rel_password"
>
然后给一个相对布局RelativeLayout高度wrap_content背景设置为白色给它内部放一个LinearLayout让它的高度固定将RelaLayout撑起来。
然后在内部写两个RecyclerVIew。设置StaggeredGridLayoutManager让RecyclerVIew显示一行几lie。
RecyclerView rvMonth= (RecyclerView)findViewById(R.id.rv_color);
rvMonth.setItemAnimator(newDefaultItemAnimator());
staggeredGridLayoutManager=newStaggeredGridLayoutManager(4,StaggeredGridLayoutManager.VERTICAL);
rvMonth.setLayoutManager(staggeredGridLayoutManager);//设置RecyclerView布局管理器为2列垂直排布
rvMonth.addOnScrollListener(newRecyclerView.OnScrollListener() {
@Override
public voidonScrollStateChanged(RecyclerView recyclerView, intnewState) {
super.onScrollStateChanged(recyclerView,newState);
staggeredGridLayoutManager.invalidateSpanAssignments();
}
});
最后给RecyclerView设置数据就行。
rvMonth.setAdapter(ljYyueAdapter);
最后有一点,就是RecyclerView选中一条的问题,就是将adpter里面的数据遍历,给重新设置状态。这个都在demo里面我将它都放在我的git上面了
git地址: