效果图
核心代码
private void bindView(View root) {
homeAdapter = new HomeAdapter(getContext(), list);
RecyclerView recyclerView = root.findViewById(R.id.home_recycler);
recyclerView.setLayoutManager(new GridLayoutManager(getContext(), 3));
recyclerView.addItemDecoration(new MyDividerItemDecoration(getContext()));
recyclerView.setAdapter(homeAdapter);
recyclerView.suppressLayout(true);
recyclerView.setOutlineProvider(new ViewOutlineProvider() {
@Override
public void getOutline(View view, Outline outline) {
outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), 20);
}
});
recyclerView.setClipToOutline(true);
}
步骤
- 布局RecyclerView XML,写Adapter(这一步骤不会,自行百度,此处不赘述)
- 设置布局item XML,并添加点击高亮设置
- Adapter中设置点击事件
- 裁剪相关view
总结
所有圆角,异形view的点击高亮都可以通过该方法实现,相对于XML方式更加通用;
但是简单常用的圆角,直角,椭圆,圆形等view点击高亮,建议使用xml配置,它的复用性高。
如果文章对你还有用,点个赞再走吧。