美文网首页Android-recyclerview
RecyclerView横向展示4个半item,且令选中的ite

RecyclerView横向展示4个半item,且令选中的ite

作者: dvgtfd | 来源:发表于2020-06-09 14:07 被阅读0次

1.设置横向滚动


LinearLayoutManager llm =new LinearLayoutManager(this);

llm.setOrientation(LinearLayoutManager.HORIZONTAL);

mBind.tabs.setLayoutManager(llm);

2.设置显示四个半item

//计算屏幕宽度,除以4.5,就是每个item的宽度
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams((int)
                (ctx.getResources().getDisplayMetrics().widthPixels / 4.5),
                ViewGroup.LayoutParams.WRAP_CONTENT);
holder.itemView.setLayoutParams(layoutParams);

3.选中的item置于中间

int size = getItemCount();
//id为目标item的下标,view为itemview
if (id > 1 && id < size - 2) {//前两个item和最后两个item无法滚动至中间
    WindowManager wm = (WindowManager) context.getSystemService(context.WINDOW_SERVICE);
    DisplayMetrics dm = new DisplayMetrics();
    wm.getDefaultDisplay().getMetrics(dm);
    //item距离屏幕左边的距离-(屏幕宽度的一半减去item宽度的一半)就是它要滑动的距离
    int gap = view.getLeft() - (dm.widthPixels / 2 - view.getWidth() / 2);
    return gap;
}

相关文章

网友评论

    本文标题:RecyclerView横向展示4个半item,且令选中的ite

    本文链接:https://www.haomeiwen.com/subject/yihstktx.html