融雲 ConversationListFragment 會話列表添加頭部佈局

融雲 ConversationListFragment 會話列表添加頭部佈局

公司需求, 需要使用融雲 SDK 官方的 IMkit 去實現自己的效果, 其中一個就是在會話列表頭部添加幾個 item, 通過查看 ConversationListFragment 中的源碼發現, 有一個onAddHeaderView 方法, 可以在會話列表的 ListView 上添加 Header 頭佈局。 所以找到了實現方法。 步驟是這樣的。

第一步 創建 MyConversationListFragment 繼承 ConversationListFragment。

第二步 複寫父類 onAddHeaderView 方法, 並添加返回自定義的佈局.

class MyConversationListFragment extends ConversationListFragment {

  /**
   * 會話列表添加頭部
   * @return 頭部view
   */
  @Override
  protected List<View> onAddHeaderView() {
    List<View> headerViews = new ArrayList<>();
    return headerViews;
  }
}

第三步. 創建了一個 top_item_view.xml 實現要頭部的效果, 然後把此 view 通過 onAddHeaderView 返回給。

class MyConversationListFragment extends ConversationListFragment {
    ...
  /**
   * 會話列表添加頭部
   * @return 頭部view
   */
  @Override
  protected List<View> onAddHeaderView() {
    List<View> headerViews = new ArrayList<>();
    View itemView = findByViewId(R.layout.top_item_view);
    headerViews.add(itemView);
    return headerViews;
  }

  ...
}

4. 然後在 Manifest.xml 中使用 MyConversationListFragment 替換 ConversationListFragment.

這樣就給 ListView 添加上頭佈局了。 是不是很簡單呢

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章