当前位置: 移动技术网 > 移动技术>移动开发>Android > 融云 ConversationListFragment 会话列表添加头部布局

融云 ConversationListFragment 会话列表添加头部布局

2020年11月12日  | 移动技术网移动技术  | 我要评论
融云 ConversationListFragment 会话列表添加头部布局公司需求, 需要使用融云 SDK 官方的 IMkit 去实现自己的效果, 其中一个就是在会话列表头部添加几个 item, 通过查看 ConversationListFragment 中的源码发现, 有一个onAddHeaderView 方法, 可以在会话列表的 ListView 上添加 Header 头布局。 所以找到了实现方法。 步骤是这样的。第一步 创建 MyConversationListFragment 继承 Conv

融云 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 添加上头布局了。 是不是很简单呢

本文地址:https://blog.csdn.net/rongcloud_r/article/details/109645761

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网