android - RecyclerView 对齐居中后如何获取居中项?

标签 android android-recyclerview snapping

我正在实现一个水平的 RecyclerView,它在滚动后将项目对齐到中心,例如 Google play App 水平列表。 This是评论。

我的代码如下:

MainMenuAdapter mainMenuAdapter = new MainMenuAdapter(this, mDataset);

final LinearLayoutManager layoutManagaer = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);

RecyclerView mainMenu = (RecyclerView) findViewById(R.id.main_menu);
mainMenu.setLayoutManager(layoutManagaer);
mainMenu.setAdapter(mainMenuAdapter);

final SnapHelper snapHelper = new LinearSnapHelper();
snapHelper.attachToRecyclerView(mainMenu);     

RecyclerView 将其对齐到中心后,如何获取中心项(位置)?没有任何监听器实现吗? 此外,当触摸项目 View 时,我想将其对齐到中心。我该怎么做?

最佳答案

如果需要View,可以调用

 View view =  snapHelper.findSnapView(layoutManagaer);

获得 View 后,您应该能够获取该 View 在数据集上的位置。例如使用

   mainMenu.getChildAdapterPosition(view)

关于android - RecyclerView 对齐居中后如何获取居中项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43305295/

相关文章:

android - Android 上的 Ionic Cordova 相机插件错误

android - 如何在任何应用程序中替换输入的字符?

android - 在适配器中获取 ArrayIndexOutOfBoundsException

android - 基于滚动淡出/淡入 TextView

c# - 一旦触发器被触发,如何改变整个对象的颜色?

java - Activity 开始时android上没有自动屏幕键盘

android - 如何设置长文本只显示2行并附加

java - 在创建之前查找有多少 RecyclerView 项目适合屏幕

android - 如何捕捉 RecyclerView 项目,以便将每个 X 项目视为一个要捕捉的单元?

java - 使用捕捉对齐构建拖放拼图式界面