由於工作原因,一直沒時間更新部落格,上個禮拜專案上線以後,今天終於可以有時間來總結下上個禮拜做的東西了:環信自定義訊息型別,我們先看下效果圖
要實現這樣的效果,首先我們想到的是要把這些提示訊息當做乙個訊息型別傳送給對方,接下來就一步一步的去實現
第一步:自定義訊息chatrow,載入的布局根據自己的需求去實現
package com.hyphenate.easeui.widget.chatrow;第二步:我們需要在easeconstant定義乙個常量來區分自己的自定義訊息型別import android.content.context;
import android.text.spannable;
import android.view.view;
import android.widget.baseadapter;
import android.widget.imageview;
import android.widget.textview;
import com.hyphenate.chat.emclient;
import com.hyphenate.chat.emmessage;
import com.hyphenate.chat.emtextmessagebody;
import com.hyphenate.easeui.r;
import com.hyphenate.easeui.utils.easesmileutils;
import com.hyphenate.exceptions.hyphenateexception;
import android.widget.textview.buffertype;
//自定義系統訊息型別
public class easechatrowhint extends easechatrow
@override
protected void oninflateview()
@override
protected void onfindviewbyid()
@override
protected void onupdateview()
@override
protected void onsetupview()
protected void handletextmessage()
}else if (message.direct() == emmessage.direct.receive)}}
@override
protected void onbubbleclick()
}
第三步:因為這個自定義訊息型別是文字型別的,所以我們要在easemessageadapter中去操作:
(1).定義兩個型別
(2)getviewtypecount中
(3)getitemviewtype中因為我們要傳送的訊息型別為文字訊息,所以需要做個判斷,如下圖所示
(4)createchatrow方法中也需要做判斷的
接下來就是要在聊天介面做操作了
ROS 自定義訊息型別方法
1 在package中新建資料夾名為msg 2 在msg資料夾中建立訊息 此處以my msg.msg 為例,注意的是要以msg為字尾名 內容舉例如下 int32 data1 float64 data2關於訊息內容,需要注意的是如果型別錯誤,那麼將不能生成標頭檔案。例如float64寫成了float,...
ROS 自定義訊息型別 c
一 msg 用於發布 訂閱的通訊方式中。在包的src同級目錄下建立msg資料夾。在 sg資料夾中,建立.msg檔案 例 my msg.msg 編輯my msg.msg檔案 int32 data1 string data2 編輯package.xml 新增依賴 message generation m...
自定義訊息
自定義訊息的響應和資源訊息的響應有很多類似之處 資源訊息的響應是以資源的id號作為標識的 自定義的訊息要自己宣告訊息id。一 定義 第一步要宣告訊息 definewm mymsgwm user 200 第二步要在類宣告中宣告訊息對映 declare message map 第三步要在類宣告中定義訊息...