在做聊天类应用时,聊天消息列表是最为重要的一部分,如何实现新消息到达自动滚动到底部还有打开输入法时界面被遮挡或者ActionBar被顶出去等问题:
1、新消息到达自动滚动:只需要设置ListView的transcriptMode属性即可
ListView布局文件的实现:
<ListView
android:id="@+id/chat_list_view"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:clickable="false"
android:divider="@null"
android:dividerHeight="10dp"
android:listSelector="@android:color/transparent"
android:paddingEnd="10dp"
android:paddingStart="10dp"
android:scrollbars="none"
android:stackFromBottom="false"
android:transcriptMode="alwaysScroll" /><!--这里是重点,设置alwaysScroll后ListView总会在更新数据时自动滚动到底部-->
2、打开输入法界面被遮挡或者ActionBar被顶出去:只需要在Activity里设置一下
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
就可以了