在此处输入图像描述//我有如下xml格式的回收器视图
<?xml version=“1.0”encoding=“utf-8”?><LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android"android:layout_width=“match_parent”android:layout_height=“match_parent”android:orientation=“vertical”><include layout=“@layout/toolbar”/><框架布局android:layout_width=“match_parent”android:layout_height=“match_parent”><android.support.v7.widget。回收站视图android:id=“@+id/grid_recycle_view”android:layout_width=“match_parent”android:layout_height=“match_parent”android:clipToPadding=“false”android:background=“#f8f9fb”/><android.support.v7.widget。回收站视图android:id=“@+id/list_recycle_view”android:visibility=“invisible”android:layout_width=“match_parent”android:layout_height=“match_parent”/></FrameLayout></LinearLayout>
//在我的onprepareGridView方法中,我完成了以下操作
私有void prepareGridRecycleView(){gridRecyclerView.setHasFixedSize(true);SpaceItemDecoration itemDecoration=新的SpaceItemDetection(10);gridRecyclerView.setClipToPadding(false);gridRecyclerView.addItemDecoration(itemDecoration);适配器=new ShopPageGridViewAdapter(ShopPageContent.this,new Shop PageHeaderGridInterface(){@覆盖public void onClick(boolean isClicked){gridRecyclerView.setVisibility(View.INVISIBLE);listRecycleView.setVisibility(View.VISIBLE);}},新建ShopPageHeaderListInterface(){@覆盖public void onClick(boolean isClicked){}},新CartCoordivateInfoHolder(){@覆盖公共void setViewCoordinate(ImageView视图,int x,int y){view.setVisibility(view.VISIBLE);view.bringToFront();view.invalidate();int pos[]=新int[2];cart.getLocationOnScreen(位置);Log.e(“x”,String.valueOf(pos[0]));Log.e(“y”,String.valueOf(pos[1]));TranslateAnimation anim=新的TranslateAnimation(0,pos[0]-x,0,pos[1]-y);anim.setDuration(5000);anim.setFillAfter(true);view.startAnimation(动画);}});最终GridLayoutManager管理器=新GridLayotManager(this,2);manager.setSpanSizeLookup(新的GridLayoutManager.SpanSize查找(){@覆盖public int getSpanSize(int位置){返回适配器。是PositionHeader(位置)吗?manager.getSpanCount():1;}});gridRecyclerView.setAdapter(适配器);gridRecyclerView.setLayoutManager(管理器);}
//item装饰器类如下所示
公共类SpaceItemDecoration扩展了RecyclerView。项目装饰{私有int空间;public SpaceItemDecoration(int空格){this.space=空格;}@覆盖public void getItemOffsets(Rect outRect,查看视图,RecyclerView父级,Recycler视图。州-州){int position=parent.getChildAdapterPosition(视图);if(位置==0){outRect.left=0;outRect.right=0;outRect.bottom=0;outRect.top=0;回报;}if(parent.getChildAdapterPosition(view)==1||parent.get儿童适配器位置(view,view)==2){outRect.top=0;outRect.left=(空格);outRect.right=空间;outRect.bottom=空格;回报;}outRect.left=空格;[在此处输入图像描述][1]outRect.right=空间;outRect.bottom=空格;outRect.top=空格;}}
//我面临的问题是左侧和右侧的空间不同。左侧空间小于右侧空间。
//图像链接