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

OSCHINA-MIRROR/HarmonyOS-tpc-SpinMenu

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

SpinMenu

На основе открытого проекта компонентов: https://github.com/Hitomis/SpinMenu, разработан openharmony-совместимый компонент.

Компонент меню выбора в виде лотерейной рулетки. Впечатляет?

Предварительный просмотр

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

dependencies {
       implementation 'io.openharmony.tpc.thirdlib:SpinMenu:1.0.1'
}

Импортируйте модуль smlibrary или просто скопируйте все Java-файлы из пакета com.hitomi.smlibrary в ваш проект.

В файле разметки:

<com.hitomi.smlibrary.SpinMenu
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    xmlns:app="style"
    ohos:id="$+id:spin_menu"
    ohos:height="match_parent"
    ohos:width="match_parent"
    ohos:background_element="#333a4a"
    app:hint_text_color="#FFFFFF"
    app:hint_text_size="14sp"
    app:scale_ratio="0.36">
</com.hitomi.smlibrary.SpinMenu>

Если вы считаете фон слишком простым, вы можете вложить другие макеты внутри SpinMenu для создания своего собственного фона.

В Ability или AbilitySlice:

spinMenu = (SpinMenu) findComponentById(ResourceTable.Id_spin_menu);

// Установка заголовков страниц
List<String> hintStrList = new ArrayList<>();
hintStrList.add("Популярная информация");
hintStrList.add("Актуальные новости");
hintStrList.add("Мой форум");
hintStrList.add("Моя информация");
hintStrList.add("Прогулки и экскурсии");
hintStrList.add("Чтение");
hintStrList.add("Музыка");
hintStrList.add("Системные настройки");

spinMenu.setHintTextStrList(hintStrList);
spinMenu.setHintTextColor(0xffffffff);
spinMenu.setHintTextSize(dp2px(14));

// Установка активации жеста для открытия меню
spinMenu.setEnableGesture(true);    // Установка адаптера страниц, так как в openharmony нет подходящего Fragment, здесь используется Component
final List<Component> components = new ArrayList<>();
for (int i = 0; i < imgIds.length; i++) {
    Image image = new Image(this);
    ComponentContainer.LayoutConfig layoutConfig = image.getLayoutConfig();
    layoutConfig.height = ComponentContainer.LayoutConfig.MATCH_PARENT;
    layoutConfig.width = ComponentContainer.LayoutConfig.MATCH_PARENT;
    image.setLayoutConfig(layoutConfig);
    image.setPixelMap(imgIds[i]);
    image.setScaleMode(Image.ScaleMode.STRETCH);
    components.add(image);
}
PageSliderProvider pageSliderProvider = new PageSliderProvider() {
    @Override
    public int getCount() {
        return components.size();
    }

    @Override
    public Object createPageInContainer(ComponentContainer componentContainer, int i) {
        return components.get(i);
    }

    @Override
    public void destroyPageFromContainer(ComponentContainer componentContainer, int i, Object o) {

    }

    @Override
    public boolean isPageMatchToObject(Component component, Object o) {
        return false;
    }
};
spinMenu.setFragmentAdapter(pageSliderProvider);

// Установка слушателя изменения состояния меню
spinMenu.setOnSpinMenuStateChangeListener(new OnSpinMenuStateChangeListener() {
    @Override
    public void onMenuOpened() {
        // открытие меню
    }

    @Override
    public void onMenuClosed() {
        // закрытие меню
    }
});

AttrSet|name|format|описание|

|:---:|:---:|:---:| |scale_ratio|float|поддерживает настройку размера масштабирования страницы; рекомендуется использовать значения в диапазоне от 0.3 до 0.5| |hint_text_color|цвет|поддерживает настройку цвета текста заголовков страниц| |hint_text_size|размерность|поддерживает настройку размера текста заголовков страниц|# Лicensия

MIT

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

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

Введение

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

Обновления

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

Участники

все

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

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