allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
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 функционально не отличается от исходного компонента.
MaterialList лицензирован под MIT License, что означает, что он является открытым исходным кодом и может использоваться и изменяться бесплатно. Уведомление о разрешении должно быть включено во все копии или существенные части программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ ИНТЕЛЛЕКТУАЛЬНОЙ СОБСТВЕННОСТИ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УЩЕРБ ИЛИ ДРУГИЕ ОБЯЗАТЕЛЬСТВА, ВОЗНИКАЮЩИЕ В РЕЗУЛЬТАТЕ ДЕЙСТВИЯ КОНТРАКТА, ДЕЛИКТА ИЛИ ИНЫМ ОБРАЗОМ, СВЯЗАННЫЕ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ОПЕРАЦИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )