Android-recyclerview

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

2020-06-09  本文已影响0人  dvgtfd

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;
}
上一篇 下一篇

猜你喜欢

热点阅读