repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
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 без ошибок.
Проверка безопасности отсутствие вирусов прошла успешно.
Функционал демоверсии практически не отличается от оригинальной версии.
Авторское право © 2019 года Mike Penz
вы можете использовать этот файл только в соответствии с Лицензией.
Вы можете получить копию Лицензии по адресу
http://www.apache.org/licenses/LICENSE-2.0
В случае, если это требует применимое законодательство или было согласовано письменно, программное обеспечение, распространяемое в рамках Лицензии, распространяется на условиях "КАК ЕСТЬ".
БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ ЛЮБОГО ТИПА, как явных, так и подразумевающихся.
Смотрите Лицензию для конкретного языка, регулирующего права и ограничения в рамках Лицензии.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )