Android 如何在RecyclerView中设置水平滚动显示下一个和上一个数据
在我的应用程序中,我希望使用Android 如何在RecyclerView中设置水平滚动显示下一个和上一个数据,android,android-layout,android-recyclerview,Android,Android Layout,Android Recyclerview,在我的应用程序中,我希望使用recyclerView来显示特殊数据,为此,我希望使用recyclerView和水平滚动显示下一个和上一个数据。 例如横幅和图像下方: 如何使用LayoutManager进行此操作 为此,我知道我应该在LinearLayout中使用Horizontal。但我不知道如何显示下一个和上一个数据 请不要给我负面评价,请帮助我。假设您一次只需要显示一个完整项目,两侧各显示两个部分项目。您可以使用snaphelper将recylerview捕捉到最近的项目位置,以达到所需的效
recyclerView
来显示特殊数据,为此,我希望使用recyclerView
和水平滚动显示下一个和上一个数据。例如横幅和图像下方: 如何使用
LayoutManager
进行此操作
为此,我知道我应该在LinearLayout
中使用Horizontal。但我不知道如何显示下一个和上一个数据
请不要给我负面评价,请帮助我。假设您一次只需要显示一个完整项目,两侧各显示两个部分项目。您可以使用
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);
}
假设您一次只需要显示一个完整项目,两侧显示两个部分项目。您可以使用
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);
}
为什么您不能尝试
ViewPager
@Sniffer,我想使用RecyclerView。你能帮我吗?请跟随这个链接,它对我有用。@dhananjaysingh,谢谢亲爱的,但我不想显示下一个和上一个箭头。我想要部分下一个和上一个数据为什么你不能尝试ViewPager
@Sniffer,我想要使用RecyclerView。你能帮我吗?请跟随这个链接,它对我有用。@dhananjaysingh,谢谢亲爱的,但我不想显示下一个和上一个箭头。我想要部分下一个和上一个数据是的,亲爱的,我知道我应该在线性布局中使用水平。但是我不知道如何显示下一个和上一个数据你的意思是,你想显示部分下一个和上一个数据吗?是的,我的朋友。如上图所示。你能帮我吗?亲爱的,你在这儿吗?你能帮我吗?谢谢亲爱的,你使用int-width=recyclerView.getWidth();代码。要使用recyclerview,我应该将我的recyclerview从活动传递到适配器?是的,亲爱的,我知道我应该在线性布局中使用水平。但是我不知道如何显示下一个和上一个数据你的意思是,你想显示部分下一个和上一个数据吗?是的,我的朋友。如上图所示。你能帮我吗?亲爱的,你在这儿吗?你能帮我吗?谢谢亲爱的,你使用int-width=recyclerView.getWidth();代码。为了使用recyclerview,我应该将我的recyclerview从活动传递到适配器?