自定样式
界面组件 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());
}
}
运行程序,即可看到自定义效果。