效果:
分析:
1、头像设置为圆形
2、消息的背景设置样式
3、消息的内容颜色
实现:
1、头像设置为圆形
集成融云后 全局搜索rc_item_conversation.xml
找到AsyncImageView节点 添加 2个属性
app:RCShape="circle"
android:scaleType="centerCrop"
<io.rong.imkit.widget.AsyncImageView
android:id="@+id/rc_left"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center"
android:background="@android:color/transparent"
app:RCCornerRadius="3dp"
app:RCShape="circle"
android:scaleType="centerCrop"
app:RCDefDrawable="@drawable/rc_default_portrait"
/>
2、消息的背景设置样式
以右边的消息举例子
集成融云后 全局搜索rc_ic_bubble_no_right.9.png rc_ic_bubble_right.9.png 这两个文件
进行颜色更换 或者样式改变
3、消息的内容颜色
创建一个类MyTextMessageItemProvider 继承 TextMessageItemProvider
然后 在会话页面中 加入语句 RongIM.getInstance().registerMessageTemplate(new MyTextMessageItemProvider());
可直接复制代码
/**
* author:agxxxx on 2017/5/16 14:21
* email:agxxxx@126.com
* jianShu: http://www.jianshu.com/u/c1a3c4c943e5
* blog: http://blog.csdn.net/zuiaisha1
* github: https://github.com/agxxxx
* Created by Administrator on 2017/5/16.
*/
@ProviderTag(messageContent = TextMessage.class)
public class MyTextMessageItemProvider extends TextMessageItemProvider {
@Override
public void bindView(View v, int position, TextMessage content, UIMessage data) {
super.bindView(v, position, content, data);
if(v instanceof TextView) {
if (data.getMessageDirection() == Message.MessageDirection.SEND) { //如果是右边的消息
((TextView) v).setTextColor(Color.WHITE);
} else {
((TextView) v).setTextColor(Color.parseColor("#434343"));
}
}
}
}