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

OSCHINA-MIRROR/chinasoft5_ohos-Ohos-ActionItemBadge

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

Описание компонента Ohos-ActionItemBadge

Проект

  • Название проекта: Ohos-ActionItemBadge
  • Серия: OpenHarmony третьих сторон
  • Функционал: удобный и простой в использовании бейдж
  • Статус адаптации: основные функции завершены
  • Различия при вызове: есть (обновление меню превращается в обновление макета, отсутствие вызова оригинальной библиотеки третьей стороны)
  • Версия SDK: SDK6
  • Версия DevEco Studio: DevEco Studio 2.2 Beta1
  • Базовая версия: Release v4.0.0

Демо эффекта

sc1 sc1

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

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

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

Пример использования

<DirectionalLayout
    xmlns:ohos="http://schemas.huawei.com/res/ohos"
    ohos:width="match_parent"
    ohos:height="50vp"
    ohos:orientation="horizontal">
``````markdown
// шаг 1:
          // Реализация ListLeftAdapter.ItemOnClickListener, ActionItemBadge.ActionItemBadgeListener, ActionItemBadge.ActionItemBadgeLongListener
          // Первый — это мониторинг смены стилей левой панели, второй — событие клика на значок действия, третий — событие долгого нажатия на значок действия
          public class MainAbilitySlice extends AbilitySlice implements ListLeftAdapter.ItemOnClickListener,
              ActionItemBadge.ActionItemBadgeListener, ActionItemBadge.ActionItemBadgeLongListener {

    
              }

          // Привязка событий
           ListLeftAdapter leftAdapter = new ListLeftAdapter(MainAbilitySlice.this, leftList); // данные для left заполняются самостоятельно
                 leftAdapter.setmItemOnClickListener(this::itemOnClickListener);
                 ActionItemBadge.setMyListener(this);
                 ActionItemBadge.setLongClickListener(this);

          // родительский компонент (обычно это какой-то виджет размещения)
          toolbar_dependentLayout = (DirectionalLayout) findComponentById(ResourceTable.Id_toolbar_dependentLayout);
          // Ниже приведён компонент хранящий значок
          component01 = LayoutScatter.getInstance(getContext()).parse(ResourceTable.Layout_main, null, false);
          // Добавляем component01 в toolbar_dependentLayout
          toolbar_dependentLayout.addComponent(component01);
          // Компонент, требующий значка
          Component c01 = component01.findComponentById(ResourceTable.Id_item_samplebadge);
``````markdown
## Шаг 2:

         // Вызов для обновления значка в бейджере с использованием текущего AbilitySlice, вторым аргументом является компонент значка (или можно использовать вышеупомянутый `c01`), третьим — системный значок, четвертым — стиль значка, пятым — текстовое содержимое бейджера
         ActionItemBadge.update(slice, component01.findComponentById(ResourceTable.Id_item_samplebadge), FontAwesome.Icon.faw_cloud_sun, nstyle, badgeCount);

## Шаг 3:

          // Нажатие кнопки слайдера
  @Override
    public void itemOnClickListener(int position) {
        if (leftList != null && leftList.size() > 0) {

            changePosition(position);
        }
    }

       // Долгое нажатие на значок
      @Override
        public boolean onOptionsItemLongSelected(Component component) {
            int id = component.getId();

            if (id == ResourceTable.Id_item_samplebadge) {

            }
            return false;
        }

         // Одиночное нажатие на значок
  @Override
    public boolean onOptionsItemSelected(Component component) {
        int id = component.getId();

        if (id == ResourceTable.Id_item_samplebadge) {
                badgeCount--;

               if (badgeCount > 0) {
                   ActionItemBadge.update(component02, badgeCount);
               } else {
                   ActionItemBadge.hide(component02);
               }
        }
        return false;
    }

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

Код проверен CodeCheck без ошибок.

Код проверен CloudTest без ошибок.

Проверка безопасности отсутствие вирусов прошла успешно.

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

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

  • 1.0.0

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

Авторское право © 2019 года Mike Penz

вы можете использовать этот файл только в соответствии с Лицензией.
Вы можете получить копию Лицензии по адресу

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

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

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

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

Введение

Удобный и простой в использовании значок. Развернуть Свернуть
Java
Apache-2.0
Отмена

Обновления

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

Участники

все

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

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