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

OSCHINA-MIRROR/thoseyears-ohos-extension

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
EasyGridProvider.md 2.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 30.11.2024 01:25 d5812a8

EasyGridProvider

Реализация ItemProvider для создания сеток.

Создание собственного Provider на основе EasyGridProvider

public class MyBaseQuickAdapter extends EasyGridProvider<UserViewInfo> {

    public MyBaseQuickAdapter(Context mContext) {
        super(mContext);
    }

    @Override
    protected void bind(ViewHolder holder, UserViewInfo item, int position) {
        Image thumbView = holder.getView(ResourceTable.Id_iv);
        iv.setVisibility(Component.VISIBLE);
    }

    @Override
    protected void bindPlaceholder(ViewHolder holder, int position) {
        Image iv = holder.getView(ResourceTable.Id_iv);
        iv.setVisibility(Component.HIDE);
    }

    @Override
    protected int getLayoutId() {
        return ResourceTable.Layout_item_image_grid;
    }
}

Файл макета

<?xml version="1.0" encoding="utf-8"?>
<DependentLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:height="match_parent"
    ohos:width="match_parent">

    <Image
        ohos:id="$+id:iv"
        ohos:height="match_parent"
        ohos:width="match_parent"/>
</DependentLayout>

Настройка ListContainer с адаптером

ListContainer listContainer = (ListContainer) findComponentById(ResourceTable.Id_listView);
MyBaseQuickAdapter myBaseQuickAdapter = new MyBaseQuickAdapter(this);
// Установка данных
myBaseQuickAdapter.setData();
// Установка количества столбцов в сетке
myBaseQuickAdapter.setNumColumns(2);
// Установка расстояния между ячейками сетки
myBaseQuickAdapter.setGridSpacing(0);
// Настройка события клика по элементам сетки
listContainer.setItemProvider(myBaseQuickAdapter);
myBaseQuickAdapter.setOnItemClickListener(new EasyGridProvider.OnItemClickListener() {
    @Override
    public void onItemClick(Component component, int position) {

    }
});

Обработка изменения ориентации экрана

protected void onOrientationChanged(AbilityInfo.DisplayOrientation displayOrientation) {
    super.onOrientationChanged(displayOrientation);
    myBaseQuickAdapter.updateDisplayWidth(displayOrientation);
    myBaseQuickAdapter.notifyDataChanged();
}

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

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

1
https://api.gitlife.ru/oschina-mirror/thoseyears-ohos-extension.git
git@api.gitlife.ru:oschina-mirror/thoseyears-ohos-extension.git
oschina-mirror
thoseyears-ohos-extension
thoseyears-ohos-extension
master