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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zuiaisha1/article/details/72312394

效果:


分析:

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:[email protected]
 * 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"));
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/zuiaisha1/article/details/72312394