主要实现聊天栏的相关效果和功能,可以直接添加配置后结合RecyclerView直接实现聊天对话框界面。 主要包含:
- 聊天输入框的界面效果和相应交互功能
- 语音消息的录制
- 基本表情包
- 自定义添加其他功能,发送图片、视频、位置等等
Step 1.在Build中添加jitpack支持
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. 添加dependency
dependencies {
implementation 'com.github.lidgang:ChatCommonLib:1.0.6'
}
实现聊天对话框时,调用自定义控件即可。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.jiubaisoft.chatlib.widget.SimpleUserdefEmoticonsKeyBoard
android:id="@+id/emokeyboard"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"></ListView>
</com.jiubaisoft.chatlib.widget.SimpleUserdefEmoticonsKeyBoard>
</RelativeLayout>
//初始化表情
keyBoard.initDefaultEmoji();
//初始化表情
keyBoard.initDefaultEmoji();
//初始化应用
keyBoard.initApps(this)
.addItem(new AppEntity(R.mipmap.icon_photo,"图片"))
.addItem(new AppEntity(R.mipmap.icon_audio,"视频"));
keyBoard.initRecord(this, new RecordCallback() {
@Override
public void recordResult(String path, long time) {
Toast.makeText(MainActivity.this, path+",时长:"+time, Toast.LENGTH_SHORT).show();
}
});