1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jpush-aurora-imui

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
customLayoutEn.md 2.5 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 04:38 7486689

Настройка стиля виджета

中文文档

Если вы хотите полностью настроить свой виджет, вы можете определить пользовательский ViewHolder и макет. В этом документе показано, как это сделать.

Шаги

Настройка стиля вашего виджета требует всего трёх шагов.

Шаг первый: создание пользовательского макета элемента сообщения

Создайте файл макета XML, вы можете использовать макет элемента сообщения MessageList.

Шаг второй: создайте ViewHolder, который расширяет BaseMessageViewHolder и реализует DefaultMessageViewHolder

Конструктор пользовательского ViewHolder должен иметь два типа параметров: тип View и тип boolean. Например:

public class TxtViewHolder<MESSAGE extends IMessage>
        extends BaseMessageViewHolder<MESSAGE>
        implements MsgListAdapter.DefaultMessageViewHolder {

    // Обратите внимание здесь
    public TxtViewHolder(View itemView, boolean isSender) {
        super(itemView);
        ...
    }


    @Override
    public void onBind(final MESSAGE message) {
        ...
    }

    @Override
    public void applyStyle(MessageListStyle style) {
        ...
    }

Шаг третий: используйте объект HoldersConfig для установки пользовательского ViewHolder и макета

Помните, что существует несколько видов сообщений: текст, фото, голос, видео, поэтому вам нужно разместить их все, в противном случае будет использоваться стиль по умолчанию.

MsgListAdapter.HoldersConfig holdersConfig = new MsgListAdapter.HoldersConfig();
// Первый параметр — класс пользовательского ViewHolder, второй — идентификатор ресурса пользовательского макета.
holdersConfig.setSenderTxtMsg(CustomViewHolder.class, layoutRes);
holdersConfig.setReceiverTxtMsg(CustomViewHolder.class, layoutRes);
holdersConfig.setSendPhotoMsg(CustomViewHolder.class, layoutRes);
...

Это всё! Попробуйте сами!

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/jpush-aurora-imui.git
git@api.gitlife.ru:oschina-mirror/jpush-aurora-imui.git
oschina-mirror
jpush-aurora-imui
jpush-aurora-imui
master