配置 RecyclerView 以作为聊天工具工作
Configure RecyclerView to work as a chat
要在列表视图中启用聊天式滚动,我们可以使用以下属性:
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
....
android:stackFromBottom="true"
android:transcriptMode="normal" />
这是一种创建聊天的简单高效的方式。
我们如何用回收者视图做同样的事情?我没有找到任何简单的解决方案。
此致,
RecyclerView 有一个 stackFromEnd
属性。
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/recyclerView"
android.support.v7.recyclerview:stackFromEnd ="true"/>
或者你可以通过代码实现
mLayoutManager = new LinearLayoutManager(getActivity());
mLayoutManager.setReverseLayout(true);
mLayoutManager.setStackFromEnd(true);
添加这些语句;
<android.support.v7.widget.RecyclerView
android:id="@+id/chat_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawSelectorOnTop="false"
android:listSelector="@android:color/transparent"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:scrollbarStyle="outsideOverlay"
android:transcriptMode="normal" />
并添加到布局管理器
layoutManager.setStackFromEnd(true);
要在列表视图中启用聊天式滚动,我们可以使用以下属性:
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
....
android:stackFromBottom="true"
android:transcriptMode="normal" />
这是一种创建聊天的简单高效的方式。 我们如何用回收者视图做同样的事情?我没有找到任何简单的解决方案。
此致,
RecyclerView 有一个 stackFromEnd
属性。
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/recyclerView"
android.support.v7.recyclerview:stackFromEnd ="true"/>
或者你可以通过代码实现
mLayoutManager = new LinearLayoutManager(getActivity());
mLayoutManager.setReverseLayout(true);
mLayoutManager.setStackFromEnd(true);
添加这些语句;
<android.support.v7.widget.RecyclerView
android:id="@+id/chat_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawSelectorOnTop="false"
android:listSelector="@android:color/transparent"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:scrollbarStyle="outsideOverlay"
android:transcriptMode="normal" />
并添加到布局管理器
layoutManager.setStackFromEnd(true);