我一直在尝试重叠回收站 View 中的两个相邻位置,但没有成功。我希望第一个位置的一部分与第二个位置重叠/绘制。
我一直在玩弄自定义的 RecyclerView.ItemDecoration 和它的 getItemOffsets,但是它似乎只能在一个位置上添加填充/边距,而不是将它转换到它的 viewparent 之外的新位置。
有人知道如何使用 recyclerview 实现这一点吗?
最佳答案
好吧,您还可以在 RecyclerView.ItemDecoration 中添加负边距 .
例子:
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<String> 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 - recyclerview 中的重叠位置/ View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35207559/