当前位置: 首页 > 工具软件 > Aurora IMUI > 使用案例 >

android layout en,docs/Android/customLayoutEn.md · solo/aurora-imui - Gitee.com

司徒良哲
2023-12-01

## Customize widget style

[中文文档](./customLayout.md)

If you want to totally customize your widget, you can define custom ViewHolder and layout.

This document will show you how to do it.

### Step

Customize your widget style only need three steps.

#### Step one: create custom message item layout

Create xml layout file, you can refer MessageList's message item layout.

#### Step two:Create ViewHolder extends BaseMessageViewHolder and implements DefaultMessageViewHolder

The custom ViewHolder's constructor **must** have two types of parameter: View type and boolean type. For example:

```

public class TxtViewHolder

extends BaseMessageViewHolder

implements MsgListAdapter.DefaultMessageViewHolder {

// Notice here

public TxtViewHolder(View itemView, boolean isSender) {

super(itemView);

...

}

@Override

public void onBind(final MESSAGE message) {

...

}

@Override

public void applyStyle(MessageListStyle style) {

...

}

```

#### Step three: Use HoldersConfig object to set custom ViewHolder and layout

Remember there several kinds of message: text, photo, voice, video, so you need in place all of them,

otherwise, will use default style.

```

MsgListAdapter.HoldersConfig holdersConfig = new MsgListAdapter.HoldersConfig();

// First parameter is custom ViewHolder class,second one is resource id of custom layout.

holdersConfig.setSenderTxtMsg(CustomViewHolder.class, layoutRes);

holdersConfig.setReceiverTxtMsg(CustomViewHolder.class, layoutRes);

holdersConfig.setSendPhotoMsg(CustomViewHolder.class, layoutRes);

...

```

That's all! Please try it by yourself!

一键复制

编辑

Web IDE

原始数据

按行查看

历史

 类似资料: