android-融云-会话页面 消息设置样式

效果:


分析:

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"));
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值