我一直试图在recyclerview中重叠两个相邻的位置,但没有这样做.我希望第一个位置的一部分重叠/绘制在第二个位置.

我一直在玩一个自定义的RecyclerView.ItemDecoration和它的getItemOffsets,但是它似乎只能在一个位置上添加填充/边距,而不是将它转换到它的viewparent之外的新位置.

任何人都有关于如何通过recyclerview实现这一目标的任何指示?

解决方法:

例:

ItemDecorator.java

public class ItemDecorator extends RecyclerView.ItemDecoration {

private final int mSpace;

public ItemDecorator(int space) {

this.mSpace = space;

}

@Override

public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {

outRect.left = mSpace;

outRect.right = mSpace;

outRect.bottom = mSpace;

outRect.top = mSpace;

}

}

MainActivity.java

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

ArrayList arrayList = new ArrayList<>();

arrayList.add("Hi");

arrayList.add("World");

arrayList.add("What");

RecyclerView recyclerView = (RecyclerView) findViewById(R.id.rec1);

//Negative margin!

ItemDecorator itemDecorator = new ItemDecorator(-30);

recyclerView.setAdapter(new CustomAdapter(arrayList));

recyclerView.addItemDecoration(itemDecorator);

recyclerView.setLayoutManager(new LinearLayoutManager(this));

}

}

标签:android,android-recyclerview

来源: https://codeday.me/bug/20190727/1556092.html

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐