我正在构建一个聊天应用程序并使用RecyclerView显示消息.由于这是一个聊天应用程序,最后的消息应该出现在列表的底部.为此,我使用LinearManager以下列方式:
LinearLayoutManager layoutManager = new LinearLayoutManager(getContext()); layoutManager.setOrientation(LinearLayoutManager.VERTICAL); layoutManager.setStackFromEnd(true); layoutManager.setSmoothScrollbarEnabled(false);
如果对话中有很多消息,它可以正常工作.但是,如果用户之间只有一条或两条消息,则RecyclerView会在屏幕底部显示这些消息,并在其上方放置空白区域.
在这种情况下,是否可以在屏幕顶部显示回收物品?
我创造一切正常,添加setStackFromEnd(true)
,setReverseLayout(true)
以及使用这种方法娄列表设置为底部时,它有许多itens,该recyclerview会从底层做起,否则会跳投显示从顶部的意见,即使有少itens则屏幕大小.
//method will set the recyclerview to the end, in other words its going to the //end of the recyclerview, starting from the bottom. //call scrollToBottom() after add your items in the adapter public void scrollToBottom(){ recyclerView.scrollVerticallyTo(0); }
RecyclerView Java
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.activity_comments_recycler_view); LinearLayoutManager manager = LinearLayoutManager(this); manager.setStackFromEnd(true); manager.setReverseLayout(true); recyclerView.setLayoutManager(manager);
RecyclerView XML