效果圖
核心代碼
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配置,它的複用性高。
如果文章對你還有用,點個贊再走吧。