融雲--IMKit 自定義會話界面

1、會話界面 Title 配置

在會話界面使用

getIntent().getData().getQueryParameter("targetId");//獲取id
getIntent().getData().getQueryParameter("title");//獲取消息title

2、輸入框自定義

 在會界面中可以設置輸入框的模式。針對聊天會話的語音/文本切換功能、內容輸入功能、擴展功能,融雲目前提供了 九 種排列組合模式, 該 九 種形式定義在 rc_conversation_attrs.xml 的 InputView styleable 裏查看:

style        組合模式

SCE          語音/文本切換功能+內容輸入功能+擴展功能
ECS          擴展功能+內容輸入功能+語音/文本切換功能
CSE          內容輸入功能+語音/文本切換功能+擴展功能
CES          內容輸入功能+擴展功能+語音/文本切換功能
SC           語音/文本切換功能+內容輸入功能
CS           內容輸入功能+語音/文本切換功能
EC           擴展功能+內容輸入功能
CE           內容輸入功能+擴展功能
C            內容輸入功能

用戶可以通過更改 rc_fr_messageinput.xmlapp:style=”SCE” ,更改默認輸入顯示形式。

  • 此外,用戶還可以通過 RongIM.getInstance().setPrimaryInputProvider()
    設置輸入中間部分的顯示內容,如 setPrimaryInputProvider(VoiceInputProvider()) 或者
    setPrimaryInputProvider(TextInputProvider()),當然,用戶也可以設置自定義的 provider。

    請注意,自定義的 provider 必須繼承 InputProvider.MainInputProvider。

3、會話擴展功能自定義

(1) 繼承InputProvider.ExtendProvider類
(2) 實現如下方法

/**
* 設置展示的圖標
* @param context
* @return
*/
@Override
public Drawable obtainPluginDrawable(Context context) {
  return context.getResources().getDrawable(R.drawable.設置的圖標);
}

/**
* 設置圖標下的title
* @param context
* @return
*/
@Override
public CharSequence obtainPluginTitle(Context context) {
  return context.getString("圖標下顯示的文字");
}

/**
* click 事件
* @param view
*/
@Override
public void onPluginClick(View view) {
  //設置該圖標的點擊事件
}

(3) 加入到 ExtendProvider 數組中
按照加入的順序排列。

//擴展功能自定義
InputProvider.ExtendProvider[] provider = {
  new ImageInputProvider(RongContext.getInstance()),//圖片
  new CameraInputProvider(RongContext.getInstance()),//相機
  new LocationInputProvider(RongContext.getInstance()),//地理位置
  new VoIPInputProvider(RongContext.getInstance()),// 語音通話
  new ContactsProvider(RongContext.getInstance())//自定義通訊錄
};
RongIM.resetInputExtensionProvider(Conversation.ConversationType.PRIVATE, provider);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章