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

OSCHINA-MIRROR/chordwang-gesture-view

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

Гестурвью

платформа

github адрес: https://github.com/chordw/GestureView

gitee адрес: https://gitee.com/chordwang/gesture-view

Описание

Контроллер жестов в HarmonyOS.

изображение

анимация

Функциональное описание

  • Поддерживает установку количества столбцов.
  • Поддерживает установку количества строк.
  • Поддерживает установку минимального количества точек жеста. По умолчанию равно 1.
  • Поддерживает установку максимального количества точек жеста. По умолчанию равно количество строк умноженное на количество столбцов.
  • Поддерживает установку стиля точек жеста. По умолчанию линия, можно установить как пользовательское изображение.
  • Поддерживает установку цвета линий пути жеста.
  • Поддерживает установку пользовательского изображения для состояния "не выбрано".
  • Поддерживает установку пользовательского изображения для состояния "выбрано".
  • Поддерживает установку пользовательского изображения для состояния "ошибка".
  • Поддерживает установку режима отображения пути жеста при завершении. По умолчанию путь не отображается после завершения жеста.
  • Поддерживает установку порядка отрисовки точек жеста и линий пути. По умолчанию точки жеста отображаются сверху.
  • Поддерживает установку режима повторения пути жеста. По умолчанию каждый пункт может повторяться несколько раз за исключением соседних двух пунктов.

Инструкция по использованию

Подробная информация см. в демо

Основные интерфейсы

    //Режим повторения точек жеста
    public interface GestureRepeatMode {
        int DEFAULT = 0; //Каждый пункт может повторяться несколько раз за исключением соседних двух пунктов. Значение по умолчанию.
        int NO_REPEAT =  Yöntem. //Каждый пункт не может повторяться.
    }

    //Стиль точек жеста
    public interface GestureStyle {
        int LINE = 0; //Линия
        int IMAGE = 1; //Изображение
    }
    
    //Текущее состояние
    public interface GestureState {
        int NORMAL = 0; //Обычное состояние
        int ERROR = 1; //Ошибка
    }

    //Режим отображения пути при завершении жеста
    public interface GestureDisappearMode {
        int APPEAR_ON_FINISH = 11; //При завершении жеста отображается путь
        int DISAPPEAR_ON_FINISH = 12; //При завершении жеста путь не отображается
        int APPEAR_ONLY_ERROR_ON_FINISH = 13; //При ошибке при завершении жеста отображается путь
    }
    
    //Порядок отрисовки точек жеста и линий пути
    public interface GestureDrawOrder {
        int SECTION_TOP = 0; //Точки жеста отображаются сверху
        int LINE_TOP = 1; //Линии пути отображаются сверху
    }
    
    //Отслеживание результата
    public interface DetectedListener {
        int DETECT_SUCCESS = 0; //Успешное распознание, нормальное количество точек жеста
        int DETECT_LIMITED_MIN = 10; //Неудачное распознание, недостаточное количество точек жеста
        int DETECT_LIMITED_MAX = 11; //Неудачное распознание, превышение максимального количества точек жеста
        int DETECT_CANCEL = 20; //Неудачное распознание, внезапное прекращение

        /**
         * @param code            Код результата
         * @param detectedGesture Код DETECT_SUCCESS - не null, остальные - null
         */
        void onDetectedGesture(int code, List<Section> detectedGesture);
    }

Основные методы

  • Установка ID ресурса изображения для состояния "не выбрано", когда стиль точек жеста установлен как изображение.
gestureView.setImageNormal(ResourceTable.Media_icon_zao_gesture_normal);
  • Установка изображения для состояния "не выбрано", когда стиль точек жеста установлен как изображение.
gestureView.setImageNormal(PixelMapHolder imageNormal);
  • Установка ID ресурса изображения для состояния "выбрано", когда стиль точек жеста установлен как изображение.
gestureView.setImageChecked(int resId);
  • Установка изображения для состояния "выбрано", когда стиль точек жеста установлен как изображение.
gestureView.setImageChecked(PixelMapHolder imageChecked);
  • Установка ID ресурса изображения для состояния "ошибка", когда стиль точек жеста установлен как изображение.
gestureView.setImageError(int resId);
  • Установка изображения для состояния "ошибка", когда стиль точек жеста установлен как изображение.
gestureView.setImageError(PixelMapHolder imageError);
  • Установка цвета линии для состояния "не выбрано". По умолчанию Color.GREEN.
gestureView.setLineNormalColor(Color color);
  • Установка цвета линии для состояния "выбрано". По умолчанию Color.GREEN.
gestureView.setLineCheckedColor(Color color);
  • Установка цвета линии для состояния "ошибка". По умолчанию Color.RED.
gestureView.setLineErrorColor(Color lineErrorColor);
  • Установка цвета линии пути жеста по умолчанию. По умолчанию Color.GREEN.
gestureView.setLineColor(Color color);
  • Установка ширины линии для стиля точек жеста. По умолчанию 4px.
gestureView.setLineWidthSection(float lineWidthSection);
  • Установка ширины линии пути жеста. По умолчанию 4px.
gestureView.setLineWidth(float lineWidth);
  • Установка количества строк сетки жеста
gestureView.setRow(int row);
  • Установка количества столбцов сетки жеста
gestureView.setColumn(int column);
  • Установка минимального количества точек соединения
gestureView.setMinGestureCount(int minGestureCount);
  • Установка максимального количества точек соединения
gestureView.setMaxGestureCount(int maxCount);
  • Очистка данных уже выбранных точек жеста
gestureView.clearGesture();
  • Преобразование последовательности точек жеста в строку символов. Горизонтальная ориентация, начальный номер 0, последовательность +1.
String string = GestureView.section2String(detectedGesture);
  • Проверка является ли жест простым: количество поворотных точек меньше переданного значения. Если фактическое количество поворотных точек меньше ожидаемого, то это простой жест. В противном случае, это сложный жест.
boolean simpleGesture = GestureView.isSimpleGesture(detectedGesture, 1);
```- Установка прослушивателя событий отрисовки жеста

gestureView.setOnDetectedListener((code, detectedGesture) -> { // Завершение жеста. if (code == GestureView.DetectedListener.DETECT_SUCCESS) { // Успешное выполнение. String string = GestureView.section2String(detectedGesture); boolean simpleGesture = GestureView.isSimpleGesture(detectedGesture, 1); string = (simpleGesture ? "Пароль слишком прост:" : "") + string; new ToastDialog(getAbility()) .setText(string) .setAlignment(LayoutAlignment.CENTER) .show(); } else if (code == GestureView.DetectedListener.DETECT_LIMITED_MIN) { // Недостаточное количество точек жеста. gestureView.setGestureState(GestureView.GestureState.ERROR); new ToastDialog(getAbility()) .setText("Подключите минимум " + gestureView.getMinGestureCount() + " точки") .setAlignment(LayoutAlignment.CENTER) .show(); } else if (code == GestureView.DetectedListener.DETECT_LIMITED_MAX) { // Превышение максимального количества точек жеста. gestureView.setGestureState(GestureView.GestureState.ERROR); new ToastDialog(getAbility()) .setText("Подключите максимум " + gestureView.getMaxGestureCount() + " точки") .setAlignment(LayoutAlignment.CENTER) .show(); } });




#### Gradle
**Проект уже загружен в Maven Central.** ![](https://img.shields.io/maven-central/v/io.gitee.chordwang/gestureview)

implementation 'io.gitee.chordwang:gestureview:1.0.0' // Последняя версия указана выше

Добавьте следующее в `build.gradle` корневого проекта:

allprojects { repositories { ... mavenCentral() } }


#### Лицензии

Copyright [2021] [chordwang]

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

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

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



#### Участие в развитии

1.  Fork этого репозитория
2.  Создайте новую ветку `Feat_xxx`
3.  Отправьте изменения
4.  Создайте новый Pull Request

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

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

Введение

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

Обновления

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

Участники

все

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

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