RecyclerView的分割线
来源:互联网 发布:python游戏代码示例 编辑:程序博客网 时间:2024/04/27 17:13
package hjy.gouwu.RecyclerView_ItemDecoration;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import hjy.gouwu.R;
import hjy.gouwu.search_home.search_homeActivity;
public class Rc_ItemDecoration extends RecyclerView.ItemDecoration {
Context con;
private Paint mPaint;
private float mDividerHeight;
public Rc_ItemDecoration(Context con) {
this.con=con;
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setColor(Color.parseColor("#CDC5BF"));
}
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
super.onDraw(c, parent, state);
int childCount = parent.getChildCount();
for ( int i = 0; i < childCount; i++ ) {
View view = parent.getChildAt(i);
int index = parent.getChildAdapterPosition(view);
//第一个ItemView不需要绘制
if ( index == 0 ) {
continue;
}
float dividerTop = view.getTop() - mDividerHeight;
float dividerLeft = parent.getPaddingLeft();
float dividerBottom = view.getTop();
float dividerRight = parent.getWidth() - parent.getPaddingRight();
c.drawRect(dividerLeft,dividerTop,dividerRight,dividerBottom,mPaint);
}
}
@Override
public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
super.onDrawOver(c, parent, state);
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
if (parent.getChildAdapterPosition(view) != 0){
//这里直接硬编码为1px
outRect.top = 20;
outRect.left=15;
outRect.right=15;
mDividerHeight = 20;
}
}
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import hjy.gouwu.R;
import hjy.gouwu.search_home.search_homeActivity;
public class Rc_ItemDecoration extends RecyclerView.ItemDecoration {
Context con;
private Paint mPaint;
private float mDividerHeight;
public Rc_ItemDecoration(Context con) {
this.con=con;
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setColor(Color.parseColor("#CDC5BF"));
}
@Override
public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
super.onDraw(c, parent, state);
int childCount = parent.getChildCount();
for ( int i = 0; i < childCount; i++ ) {
View view = parent.getChildAt(i);
int index = parent.getChildAdapterPosition(view);
//第一个ItemView不需要绘制
if ( index == 0 ) {
continue;
}
float dividerTop = view.getTop() - mDividerHeight;
float dividerLeft = parent.getPaddingLeft();
float dividerBottom = view.getTop();
float dividerRight = parent.getWidth() - parent.getPaddingRight();
c.drawRect(dividerLeft,dividerTop,dividerRight,dividerBottom,mPaint);
}
}
@Override
public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) {
super.onDrawOver(c, parent, state);
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
super.getItemOffsets(outRect, view, parent, state);
if (parent.getChildAdapterPosition(view) != 0){
//这里直接硬编码为1px
outRect.top = 20;
outRect.left=15;
outRect.right=15;
mDividerHeight = 20;
}
}
}
//然后在你的Activity当中直接使用
//添加分割线
recyclerView.addItemDecoration(new Rc_ItemDecoration(search_homeActivity.this));
阅读全文
0 0
- RecyclerView的分割线
- recyclerView的分割线
- recyclerview的分割线
- RecyclerView的分割线
- RecyclerView的分割线
- RecyclerView的万能分割线
- RecyclerView的万能分割线
- RecyclerView的万能分割线
- RecyclerView的分割线 - ItemDecoration
- RecyclerView的分割线:ItemDecoration
- RecyclerView的万能分割线
- RecyclerView的万能分割线
- 详解RecyclerView的分割线
- RecyclerView的万能分割线
- RecyclerView万能的分割线
- RecyclerView的分割线Decoration
- RecyclerView的分割线Decoration
- RecyclerView 的添加分割线
- 数据库查询结果封装List<Map<String,String>>
- Java关于浮点数的舍入法与String.format()在不同jdk版本的区别
- angularjs猜数字游戏
- ffmpeg与x264编码指南
- BZOJ1028[JS0I2007] 麻将 解题报告【模拟+贪心(?)】
- RecyclerView的分割线
- Jzoj4778 数列编辑器
- Guns V3.0简介
- 差网络环境模拟工具clumsy
- CSS 元素垂直居中的 6种方法
- 第八周 【项目1
- jQuery基本选择器
- 线程的同步与锁定-synchronized初解
- 自做京东购物车