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

OSCHINA-MIRROR/chinasoft_ohos-DragListView

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

DragListView

Проектное описание

  • Название проекта: DragListView
  • Серия: адаптация и перенос третьих сторон компонентов OpenHarmony
  • Функционал: реализует многократное прокручивание ListContainer и автоматическое центрирование
  • Состояние переноса проекта: внутренняя сортировка при помощи перетаскивания временно недоступна
  • Различия в вызовах: если есть вложенные уровни ListContainer, внешний уровень следует использовать BaseListContainer, конфликты скроллинга в разных направлениях были решены, а также эффект автоматического центрирования элементов внутри был учтен
  • Версия SDK: SDK 6, DevEco Studio 2.2 Beta1
  • Базовая версия: Release v1.7.1

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

Изображение

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

  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:DragListView:1.0.0')
    ......  
 }

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

Инструкция по использованиюБиблиотека содержит несколько пользовательских компонентов. Если требуется прокрутка ListContainer в различных направлениях, например, горизонтальная прокрутка внешнего контейнера и вертикальная прокрутка внутреннего контейнера, используйте BaseListContainer для внешнего контейнера. Конфликт скроллинга уже был решён внутри BaseListContainer.```txt

@Override public void onDragUpdate(Component component, DragInfo dragInfo) { // Положительное значение dragInfo.xOffset указывает на прокрутку вправо, отрицательное — влево scrollBy(-(int) dragInfo.xOffset, 0); }


Еще один пользовательский класс: `BaseDependentLayout`, который поддерживает левое и правое перемещение элементов. Левый скролл открывает новую структуру (пользовательская настройка), второй левый скролл возвращает предыдущий элемент обратно, правый скролл удаляет элемент, а также меняет цвет фона при клике. Внутри этого класса много настроек.

Для активации поддержки левого и правого скролла используйте следующий метод и установите его значение в `true`:

```txt
public void setSlide(boolean isB) {
    this.isSlide = isB;
}

Если вы используете этот метод внутри Item ListContainer, убедитесь, что внешний ListContainer установлен правильно. Это позволяет заблокировать вертикальную прокрутку внешнего ListContainer во время горизонтальной прокрутки, чтобы избежать одновременной прокрутки в четырёх направлениях.

public void setListContainer(ListContainer listContainer) {
    this.listContainer = listContainer;
}

Если требуется выполнить второе левое свайп для восстановления предыдущего элемента, укажите обратный вызов интерфейса, методы в интерфейсе помогут вам более удобно реализовать эффект,


```java
public void установитьНаблюдатель(MyObserver наблюдатель) {
    этот.наблюдатель = наблюдатель;
}

public interface MyObserver {
    /**
     * Пользовательский наблюдатель, который можно зарегистрировать в BaseDepend, будет вызван после завершения левых и правых свайпов
     *
     * @param компонент
     * @param действие
     */
    void отклик(BaseDependentLayout компонент, int действие);
}

Кроме того, вы можете установить фон при нажатии и отпускании в Java-классах:

public void установитьНачальныйЭлемент(ShapeElement элемент) {
    mGrayShapeElement = элемент;
}

public void установитьЗаключительныйЭлемент(ShapeElement элемент) {
    mWhiteShapeElement = элемент;
}

Тестовая информация

CodeCheck тестирование кода прошло успешно

CloudTest тестирование кода прошло успешно

Проверка безопасности на наличие вирусов пройдена

Функционал демоверсии практически не отличается от оригинальной версии

Версионирование

  • 1.0.0

Информация о правах и лицензиях Copyright 2014 Magnus Woxblom

Лиценцировано по лицензии Apache License, версия 2.0 («Лицензия»);
вы не можете использовать этот файл, кроме как в соответствии с Лицензией.
Вы можете получить копию Лицензии по адресу

   http://www.apache.org/licenses/LICENSE-2.0

В соответствии с применимым законом или соглашением в письменной форме,
программное обеспечение, распространяемое по Лицензии, распространяется на условиях «КАК ЕСТЬ»,
БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, явных или подразумевающихся.
См. Лицензию для конкретного языка, регулирующего права и ограничения по Лицензии.

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

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

Введение

Реализовать многоуровневое скольжение и автоматическую центровку ListContainer. Развернуть Свернуть
Apache-2.0
Отмена

Обновления (1)

все

Участники

все

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

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