RecyclerView:设置滚动位置,使项目显示在视图的底部

Kir*_*man 5 android android-recyclerview linearlayoutmanager

我有RecyclerView一个LinearLayoutManager由与项目适配器支持不同高度的.有没有办法告诉RecyclerView设置滚动位置,以便项目X(或多或少)出现在屏幕的底部?

我试过LinearLayoutManager.scrollToPosition()但这会将项目放在视图的顶部.

小智 2

MyAdapter mAdapter;
RecyclerView recyclerView;
List<ItemData> data = new ArrayList<>();
LinearLayoutManager llm = new LinearLayoutManager(this);
Run Code Online (Sandbox Code Playgroud)

在 OnCreate 方法中尝试这个

recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(llm);
llm.setStackFromEnd(true);
mAdapter = new MyAdapter(data, getApplication());
recyclerView.setAdapter(mAdapter);
Run Code Online (Sandbox Code Playgroud)

当你插入一个项目时尝试这个

mAdapter.notifyItemInserted(data.size() - 1);
llm.scrollToPosition(data.size() - 1);
Run Code Online (Sandbox Code Playgroud)