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

OSCHINA-MIRROR/HarmonyOS-tpc-GestureLock

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

Демо

Как использовать?

dependencies{
    implementation 'io.openharmony.tpc.thirdlib:GestureLock:1.0.1'
}
<com.sevenheaven.gesturelock.GestureLock
        ohos:margin="20vp"
        GestureLock:line_width="2vp"
        GestureLock:line_normal_color="#ffffaa"
        ohos:id="$+id:gesturelock"
        ohos:height="match_parent"
        ohos:width="match_parent"/>
gestureLock.setAdapter(new GestureLock.GestureLockAdapter() {
            @Override
            public int getDepth() {
                return 3;
                // Глубина точки для разблокировки: 3X3, если вернуть 4, то будет 4X4
            }

            @Override
            public int[] getCorrectGestures() {
                return int[]{0,1,2};
                // Правильные жесты для разблокировки
            }

            @Override
            public int getUnmatchedBoundary() {
                return 3;
                // Максимальное количество ошибок
            }

            @Override
            public int getBlockGapSize() {
                return 30;
                // Расстояние между точками для разблокировки в PX
            }

            @Override
            public GestureLockView getGestureLockViewInstance(Context context, int position) {
                return new MyStyleLockView(gestureLock);
                // Стиль точки для разблокировки
            }
        });
        gestureLock.setOnGestureEventListener(new GestureLock.OnGestureEventListener() {
            @Override
            public void onBlockSelected(int position) {
               // Выбранная точка для разблокировки
            }

            @Override
            public void onGestureEvent(boolean matched,int errorTime) {
                // true, если жест выполнен правильно, errorTime — количество ошибок
            }

            @Override
            public void onUnmatchedExceedBoundary() {
                // Количество ошибок превысило лимит
            }

            @Override
            public void onGesturesFinish(int[] gestures) {
                // Возвращаемые жесты для разблокировки
            }
        });

API:

class GestrueLock

public void setAdapter(GestureLockAdapter adapter)

  • description: устанавливает значения атрибутов блокировки жестов с помощью адаптера.

public void setUnmatchedBoundary(int unmatchedBoundary)

  • description: задаёт границу несовпадения.

public int getUnmatchedBoundary()

  • description: возвращает границу несовпадения.

public void setCorrectGestures(int[] gesturesContainer)

  • description: задает правильные жесты.

public int[] getCorrectGestures()

  • description: получает правильные жесты.

public void notifyDataChanged()

  • description: обновляет данные.

public void setEditMode(int mode)

  • description: устанавливает режим редактирования.

public int getEditMode()

  • description: получает режим редактирования.

public void setTouchable(boolean touchable)

  • description: делает блокировку жестов доступной для касания.

public void resetUnmatchedCount()

  • description: сбрасывает счётчик несовпадений.

public void setOnGestureEventListener(OnGestureEventListener onGestureEventListener)

  • description: устанавливает прослушиватель событий жестов.

public void clear()

  • description: очищает жесты.

abstract class GestureLockView

public void setLockerState(LockerState state)

  • description: устанавливает состояние блокировки.

public LockerState getLockerState()

  • description: получает состояние блокировки.

public void setArrow(int arrow)

  • description: устанавливает угол стрелки.

public int getArrow()

  • description: получает угол стрелки.

AttrSet:

name format description
line_width dimension задаёт ширину линии
line_normal_color color задаёт цвет линии по умолчанию
line_error_color color задаёт цвет ошибки линии

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

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

Введение

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

Обновления

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

Участники

все

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

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