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

OSCHINA-MIRROR/chinasoft2_ohos-MaterialList

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

MaterialList

Проект

  • Название проекта: MaterialList.
  • Серия: openharmony, сторонние компоненты для адаптации.
  • Функция: MaterialList — это библиотека функций, которая помогает разработчикам демонстрировать красивые представления Card.
  • Состояние переноса проекта: основные функции реализованы.
  • Различия в вызовах: отсутствуют.
  • Версия разработки: sdk6, DevEco Studio2.2 Beta1.
  • Базовая версия: Release v3.2.2.

Демонстрация эффекта

Эффект демонстрации

Инструкция по установке

  1. В файле build.gradle в корневом каталоге проекта:
allprojects {
    repositories {
        maven {
            url 'https://s01.oss.sonatype.org/content/repositories/releases/'
        }
    }
}
  1. В файле build.gradle модуля entry:
dependencies {
    implementation('com.gitee.chinasoft_ohos:materialList:3.2.3')
    ......  
}

Проект можно запустить напрямую в sdk6 и DevEco Studio 2.2 Beta1. Если запуск не удаётся, удалите файлы .gradle, .idea, build, gradle и build.gradle и создайте новый проект на основе вашей версии. Скопируйте соответствующие файлы нового проекта в корневой каталог.

Использование

MaterialList основан на ListContainer. Он работает как обычный список, но предоставляет опции взаимодействия с карточками. Его можно использовать для отображения карточек в одном или нескольких списках.

Шаг 1. Объявите MaterialListView в макете:

<DependentLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    xmlns:tools="http://schemas.huawei.com/tools"
    ohos:height="match_parent"
    ohos:width="match_parent"
    ohos:background_element="$color:main_background"
    >

    <com.dexafree.materialList.view.MaterialListView
        ohos:id="$+id:material_listview"
        ohos:height="match_parent"
        ohos:width="match_parent"
        ohos:below="$id:drLayout"/>

</DependentLayout>

Для определения количества столбцов в MaterialListView используются дополнительные атрибуты. Поэтому необходимо:


xmlns:hap="http://schemas.huawei.com/apk/res/ohos"

Можно использовать атрибут column_count для фиксированного количества столбцов как в портретном, так и в ландшафтном режиме.


hap:column_count="1"

Или можно использовать атрибуты column_count_portrait и column_count_landscape.


hap:column_count_portrait="1"

hap:column_count_landscape="2"

Шаг 2. Найдите MaterialListView в коде:

MaterialListView mListView = (MaterialListView) findComponentById(ResourceTable.Id_material_listview);

Шаг 3. Добавьте карточку в MaterialListView:

Card card = new Card.Builder(this)
                            .setTag("BASIC_IMAGE_BUTTONS_CARD")
                            .withProvider(new CardProvider())
                            .setTitle("I'm new")
                            .setDescription("I've been generated on runtime!")
                            .setDrawable(ResourceTable.Media_dog)
                            .endConfig()
                            .build()

mListView.getItemProvider().add(card);

Некоторые карточки могут отображать разделитель между содержимым и кнопками:

provider.setDividerVisible(true);

Чтобы добавить событие клика на карточку:

mListView.addOnItemTouchListener(new RecyclerItemClickListener.OnItemClickListener() {
            @Override
            public void onItemClick(Card card, int position) {
                LogUtil.debug("CARD_TYPE", "" + card.getTag());
            }

            @Override
            public void onItemLongClick(Card card, int position) {
                LogUtil.debug("LONG_CLICK", "" + card.getTag());
            }
        });

Также проверьте раздел Recovering data from the cards, чтобы иметь возможность восстановить содержимое карточек.

Чтобы удалить карточку: Мне всегда нравилось действие SwipeToDismiss. MaterialList предоставляет эту функцию. Чтобы установить обратный вызов для операции удаления, просто создайте OnDismissCallback:

mListView.setOnDismissCallback(new OnDismissCallback() {
    @Override
    public void onDismiss(Card card, int position) {
        // Do whatever you want here
    }
});

Вы также можете настроить, можно ли удалить эту карточку, вызвав card.setDismissible(true).

Также проверьте раздел Recovering data from the cards, чтобы иметь возможность восстановить содержимое карточки.

Анимация MaterialList может вызывать createAnimatorProperty для создания любой анимации свойств.

Тестирование

CodeCheck — тестирование кода без исключений. CloudTest — тестирование кода без исключений. Вирусное сканирование — успешно. Текущая версия demo функционально не отличается от исходного компонента.

Версия

  • 3.2.3
  • 0.0.1-SNAPSHOT

Авторские права и лицензии

MaterialList лицензирован под MIT License, что означает, что он является открытым исходным кодом и может использоваться и изменяться бесплатно. Уведомление о разрешении должно быть включено во все копии или существенные части программного обеспечения.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, ВОЗНИКАЮЩИЕ В РЕЗУЛЬТАТЕ ДЕЙСТВИЯ КОНТРАКТА, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, СВЯЗАННЫЕ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ОПЕРАЦИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/chinasoft2_ohos-MaterialList.git
git@api.gitlife.ru:oschina-mirror/chinasoft2_ohos-MaterialList.git
oschina-mirror
chinasoft2_ohos-MaterialList
chinasoft2_ohos-MaterialList
master