自定样式

界面组件 PDBotKit 中提供的所有消息的标准显示样式,如果你对当前UI效果不满意,可以自定义消息样式。
自定义消息样式需要新建一个视图生成器类,继承 MessageItemProvider,并在Activity中注册,替换相应消息类型的视图生成器。
下面以自定义文字消息为例,介绍自定义消息样式步骤。

1. 新建视图生成器类

MyTextMessageItemProvider.java

public class MyTextMessageItemProvider extends MessageItemProvider {

    @Override
    public View createContentView(Context context) {
        View contentView = LayoutInflater.from(context).inflate(R.layout.my_item_message_text, null);
        return contentView;
    }

    @Override
    public void bindContentView(View v, Message message) {
        TextView contentView = (TextView)v;
        MessageContentText content = (MessageContentText) message.getContent();
        contentView.setText(content.getText());
    }
}
2. 添加自定义界面样式

my_item_message_text.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="#FF0000"
    android:textSize="18sp"
    android:minHeight="24dp"
    />
3. 在 Activity 中注册自定义视图生成器
// 自定义 Activity,继承 ChatActivity
public class DemoChatActivity extends ChatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // 为ContentTypeText类型消息注册自定义视图生成器
        this.getMessageAdapter().setMessageItemProvider(Message.ContentTypeText, new MyTextMessageItemProvider());
    }
}

运行程序,即可看到自定义效果。

results matching ""

    No results matching ""