RecyclerVieW自定義華麗的分割線
RecyclerView因沒有自帶分割線所以需要我們自定義分割線,在這裡提供了一個簡單的實現分割線的方法
程式碼如下:
public class ItemDecoration extends RecyclerView.ItemDecoration{
private int mydevider;
private Paint dividerPaint;
public ItemDecoration(Context context) {
dividerPaint = new Paint();
//設定分割線顏色
dividerPaint.setColor(context.getResources().getColor(R.color.colorAccent));
//設定分割線寬度
mydevider = context.getResources().getDimensionPixelSize(R.dimen.divider_bottom);
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
outRect.bottom = mydevider;
}
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
int childCount = parent.getChildCount();
int left = parent.getPaddingLeft();
int right = parent.getWidth() - parent.getPaddingRight();
for (int i = 0; i < childCount - 1; i++) {
View view = parent.getChildAt(i);
float top = view.getBottom();
float bottom = view.getBottom() + mydevider;
c.drawRect(left, top, right, bottom, dividerPaint);
}
}
}
首先我們需要建立一個類來繼承RecyclerView.ItemDecoration這個抽象方法,
接下來就是在Activity中例項化這個類傳入一個當前物件即可;
再用RecyclerView控制元件呼叫addItemDecoration()這個方法傳入剛定義的類物件即可實現自定義分割線;
Activity類
ItemDecoration itemDecoration=new ItemDecoration(MainActivity.this);
recyclerView.addItemDecoration(itemDecoration);
設定分割線的寬度是用到了一個dimen,只需要在res/values下新建一個dimen即可;
程式碼如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="divider_bottom">1dp</dimen>
</resources>
至此分割線就可以實現了= =
相關文章
- RecyclerView - 新增不同的分割線View
- 自定義GridView實現分割線解析View
- 關於RecyclerView.ItemDecoration的自定義View
- 手機直播原始碼,Flutter 自定義 虛線 分割線原始碼Flutter
- 直播平臺原始碼,Flutter 自定義 虛線 分割線原始碼Flutter
- 自定義View 之 RecyclerView.ItemDecorationView
- RecyclerView之自定義LayoutManager和SnapHelperView
- Kafka - 自定義分割槽器Kafka
- 自定義RecyclerView實現側滑刪除View
- 自定義RecyclerView動畫——實現remove飛出效果View動畫REM
- hadoop mapreducez自定義分割槽Hadoop
- 自定義ItemDecoration分割線的高度、顏色、偏移,看完這個你就懂了
- 地表最強 RecyclerView 分割線 Y_DividerItemDecoration 2.0ViewIDE
- 由旋轉畫廊,看自定義RecyclerView.LayoutManagerView
- RecyclerView 裡的自定義 LayoutManager 的一種設計與實現View
- MapReduce之自定義分割槽器Partitioner
- 自定義連線池
- RecyclerView使用指南(三)—— 新增分割線和點選事件View事件
- 直播軟體原始碼,自定義RecyclerView支援快速滾動原始碼View
- spark:自定義分割槽,自定義排序,spark與jdbc,廣播變數等Spark排序JDBC變數
- 基於 RecyclerView 實現的歌詞滾動自定義控制元件View控制元件
- 自定義View:畫布實現自定義View(折線圖的實現)View
- sql mode 和使用者自定義分割槽SQL
- android利用RecyclerView+自定義View實現城市選擇介面AndroidView
- MapReduce程式設計例項之自定義分割槽程式設計
- RecyclerView 梳理:點選&長按事件、分割線、拖曳排序、滑動刪除View事件排序
- Windows Terminal 自定義 SSH 連線Windows
- 22個展示華麗的極簡主義網頁網頁
- 自定義函式實現字串分割,返回集合型別函式字串型別
- Android開發---在RecyclerView列表中新增自定義的列表頭部與尾部檢視AndroidView
- 連線格式最佳化,支援自定義
- Android 自定義貝塞爾曲線工具Android
- Ai影像分割模型PaddleSeg——自定義資料集處理AI模型
- 自定義RecyclerView新增HeaderView,新增FooterView,實現滑動到底部,載入更多ViewHeader
- 自定義帶監控的資料庫連線池資料庫
- Android 上自定義的複式折線圖(二)Android
- Android 上自定義的複式折線圖(一)Android
- 自定義View:自定義屬性(自定義按鈕實現)View