在我的应用程序中,我想使用recyclerView
来显示特殊数据,为此,我要使用recyclerview
和水平并滚动显示 next 和上一个数据。
例如横幅和图像下面:enter link description here
我该如何使用LayoutManager
?
为此,我知道我应该在LinearLayout
中使用 Horizontal 。但我不知道如何显示下一个和上一个数据
请不要给我负面点,请帮助我。
答案 0 :(得分:1)
假设您一次只需要显示一个完整项目,而在两侧则只显示2个部分项目。您可以使用snaphelper
将recylerview捕捉到最近的项目位置,以获得所需的效果。然后按照以下方式在“回收者”视图中更改商品的宽度。您需要在适配器内部传递recyclerView
引用以获取宽度。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyclerView = findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false));
final SnapHelper snapHelper = new PagerSnapHelper();
snapHelper.attachToRecyclerView(recyclerView);
}
并在您的onCreateViewHolder
中更改项目的宽度。
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int i) {
final View view =
LayoutInflater.from(parent.getContext())
.inflate(R.layout.your_view, parent, false);
// recyclerView is your passed view.
int width = recyclerView.getWidth();
ViewGroup.LayoutParams params = view.getLayoutParams();
params.width = (int)(width * 0.8);
view.setLayoutParams(params);
return new YourViewHolder(view);
}