RecyclerView的详细使用

来源:互联网 发布:windows禁止更新 编辑:程序博客网 时间:2024/06/03 18:04

RecyclerView 相应的条目置顶

准确定位到指定位置,并且将指定位置的item置顶,

若直接调用scrollToPosition(…)方法,则不会置顶。

//1.获取managerLinearLayoutManager linearLayoutManager = new LinearLayoutManager(mActivity, LinearLayoutManager.VERTICAL, false);//2.置顶到第一个linearLayoutManager.scrollToPositionWithOffset(position, 0);linearLayoutManager.setStackFromEnd(true);

获取当前条目的position,ViewHolder自带的方法

ViewHolder(final View view) {    super(view);    ButterKnife.bind(this, view);    view.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            //获取当前条目的position,自带的方法            int layoutPosition = getLayoutPosition();            Toast.makeText(mActivity, layoutPosition, Toast.LENGTH_SHORT).show();        }    });}

Bitmap切换成圆形

public static Bitmap makeRoundCorner(Bitmap bitmap) {    int width = bitmap.getWidth();    int height = bitmap.getHeight();    int left = 0, top = 0, right = width, bottom = height;    float roundPx = height / 2;    if (width > height) {        left = (width - height) / 2;        top = 0;        right = left + height;        bottom = height;    } else if (height > width) {        left = 0;        top = (height - width) / 2;        right = width;        bottom = top + width;        roundPx = width / 2;    }    Bitmap output = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);    Canvas canvas = new Canvas(output);    int color = 0xff424242;    Paint paint = new Paint();    Rect rect = new Rect(left, top, right, bottom);    RectF rectF = new RectF(rect);    paint.setAntiAlias(true);    canvas.drawARGB(0, 0, 0, 0);    paint.setColor(color);    canvas.drawRoundRect(rectF, roundPx, roundPx, paint);    paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));    canvas.drawBitmap(bitmap, rect, rect, paint);    return output;}
0 0