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

OSCHINA-MIRROR/chinasoft3_ohos-SlidingRootNav

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

SlidingRootNav

Проект представляет собой:

  • Название проекта: SlidingRootNav.
  • Серия: адаптация сторонних компонентов openharmony.
  • Функционал: реализация макета, похожего на выдвижной ящик, который можно скрыть под «контентным» представлением, а при перемещении контента — отобразить в нижней части экрана.

Состояние миграции проекта:

Основная функциональность реализована.

Различия в вызовах:

Отсутствуют.

Версия разработки:

sdk6, DevEco Studio 2.2 Beta1.

Базовая версия:

Release v1.1.1

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

image text

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

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

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

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

Необходимо определить SlidingRootNav и использовать метод inject для создания экземпляра SlidingRootNavBuilder. SlidingRootNavBuilder содержит методы инициализации конфигурации.

SlidingRootNav slidingRootNav = new SlidingRootNavBuilder(getAbility())
    .withArbitrarilyView(findComponentById(ResourceTable.Id_btn_switch))
    .withMenuLayout(ResourceTable.Layout_menu_left_drawer)
    .withDragDistance(150)
    .withRootViewScale(0.7f) 
    .inject();

Здесь необходимо вызвать метод withArbitrarilyView, передав ему идентификатор любого компонента текущего представления. В методе SlidingRootNav определены методы запуска макета, закрытия макета и т. д.

if (slidingRootNav.isMenuClosed()) {
	slidingRootNav.openMenu();
} else {
	slidingRootNav.closeMenu();
}

Интерфейс SlidingRootNav включает следующие методы:

public interface SlidingRootNav {
    boolean isMenuClosed();
    boolean isMenuOpened();
    boolean isMenuLocked();
    void closeMenu();
    void closeMenu(boolean animated);
    void openMenu();
    void openMenu(boolean animated);
    void setMenuLocked(boolean locked);
    SlidingRootNavLayout getLayout(); //If for some reason you need to work directly with layout - you can
}

Также можно добавить обратные вызовы, такие как: Отслеживание прогресса перетаскивания:

builder.addDragListener(listener);

public interface DragListener {
  void onDrag(float progress); //Float between 0 and 1, where 1 is a fully visible menu
}

Отслеживание изменений состояния перетаскивания:

builder.addDragStateListener(listener);

public interface DragStateListener {
  void onDragStart();
  void onDragEnd(boolean isMenuOpened);
}

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

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

Версии:

1.0.0

Информация об авторских правах и лицензиях:

Copyright 2017 Yaroslav Shevchuk

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

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

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

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

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

Введение

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

Обновления

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

Участники

все

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

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