会话列表

布局局部修改

您可以通过修改布局文件来更改字体大小颜色及背景色等。

布局 说明
rc_fr_conversationlist.xml 会话列表布局
rc_item_conversation.xml 会话列表单个 item 对应的布局

长按菜单的自定义

详细请参见知识库

ConversationListFragment 的自定义

代码示例:

//查看 ConversationListFragment 类,选择您需要重写的方法。
public class SubConversationListFragment extends ConversationListFragment {
    
    private SubConversationListAdapter mAdapter;

    public void setAdapter(SubConversationListAdapter adapter) {
        mAdapter = adapter;
    }
		//重写此方法,设置自己的adapter
    @Override
    public ConversationListAdapter onResolveAdapter(Context context) {
        if (mAdapter == null) {
            mAdapter = new SubConversationListAdapter(context);
        }
        return mAdapter;
    }
    //重写此方法,来填充自定义数据到会话列表界面。
    @Override
    public void getConversationList(Conversation.ConversationType[] conversationTypes, IHistoryDataResultCallback<List<Conversation>> callback) {
        super.getConversationList(conversationTypes, callback);
    }
    //重写此方法,来填充头部布局。无会话时不显示,需要在布局中添加填充的头部布局。
    @Override
    protected List<View> onAddHeaderView() {
        List<View> headerViews = super.onAddHeaderView();
        TextView textView = new TextView(this.getActivity());
        textView.setGravity(Gravity.CENTER);
        textView.setText("这是添加的头部布局");
        headerViews.add(textView);
        return headerViews;
    }
}

ConversationListAdapter 的自定义

代码示例:

//查看 ConversationListAdapter 类,选择您需要重写的方法。
public class SubConversationListAdapter extends ConversationListAdapter {

    LayoutInflater mInflater;
    Context mContext;

    @Override
    public long getItemId(int position) {
        return position;
    }

    public SubConversationListAdapter(Context context) {
        super(context);
        mContext = context;
        mInflater = LayoutInflater.from(mContext);
    }
		//绑定视图并返回
    @Override
    protected View newView(Context context, int position, ViewGroup group) {
        return result;
    }
		// 设置视图的元素
    @Override
    protected void bindView(View v, int position, UIConversation data) {
        
    }
}