RecyclerView for chat app

时间:2015-12-22 19:40:58

标签: android android-recyclerview

我正在使用RecyclerView构建聊天应用并显示消息。由于这是一个聊天应用程序,最后的消息应该出现在列表的底部。为此,我按以下方式使用LinearManager:

    LinearLayoutManager layoutManager = new LinearLayoutManager(getContext());
    layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
    layoutManager.setStackFromEnd(true);
    layoutManager.setSmoothScrollbarEnabled(false);

如果对话中有很多消息,它可以正常工作。但是,如果用户之间只有一条或两条消息,则RecyclerView会在屏幕底部显示这些消息,并在其上方放置空白区域。

在这种情况下,是否可以在屏幕顶部显示回收物品?

1 个答案:

答案 0 :(得分:7)

我创建了一切正常并添加了std::uniform_int_distributionsetStackFromEnd(true),并使用此方法将列表设置为底部,当它有很多itens时,recyclelerview将从底部开始,否则它将会离开即使屏幕尺寸小于屏幕尺寸,也可以显示顶部的评论。

setReverseLayout(true)

RecyclerView Java

//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 XML

RecyclerView recyclerView = (RecyclerView) findViewById(R.id.activity_comments_recycler_view);
LinearLayoutManager manager = LinearLayoutManager(this);
manager.setStackFromEnd(true);          
manager.setReverseLayout(true);         
recyclerView.setLayoutManager(manager); 

enter image description here