allprojects {
repositories {
maven {
url 'https://s01.oss.sonatype.org/content/repositories/releases/'
}
}
}
dependencies {
implementation('com.gitee.chinasoft_ohos:BGABanner-Ohos:1.0.0')
......
}
Проект может быть запущен непосредственно при использовании SDK 6 и DevEco Studio 2.2 Beta1.
Если проект не запускается, удалите файлы .gradle, .idea, build, gradle, build.gradle, создайте новый проект в соответствии со своей версией и скопируйте соответствующие файлы нового проекта в корневой каталог.
BGABanner-Ohos — это реализация страницы слайдера для циклического воспроизведения нескольких рекламных изображений и возможности ручного скольжения.
Добавьте BGABanner в файл макета.
Импорт: xmlns:app="http://schemas.huawei.com/apk/res/ohos"
<cn.bingoogolapple.bgabanner.BGABanner
ohos:id="$+id:banner_guide_foreground"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:visibility="visible"
app:banner_pageChangeDuration="1000"
app:banner_pointAutoPlayAble="false"
app:banner_pointTopBottomMargin="15"
app:banner_transitionEffect="2"/>
Конфигурация данных BGABanner в Ability.
Есть несколько способов конфигурирования источника данных, здесь приведены три метода.
Метод 1: Конфигурация источника данных через передачу модели данных и использование адаптера.
mContentBanner.setAdapter(new BGABanner.Adapter<Image, String>() {
@Override
public void fillBannerItem(BGABanner banner, Image itemView, String model, int position) {
// Здесь используется фреймворк для загрузки сетевых изображений
}
});
mContentBanner.setData(Arrays.asList("путь к сетевому изображению 1", "путь к сетевому изображению 2", "путь к сетевому изображению 3"), Arrays.asList("подсказочный текст 1", "подсказочный текст 2", "подсказочный текст 3"));
Метод 2: Конфигурация источника данных путём передачи коллекции представлений.
List<Component> components = new ArrayList<>();
components.add(LayoutScatter.getInstance(getContext()).parse(ResourceTable.Id_guide_one, null, false));
components.add(LayoutScatter.getInstance(getContext()).parse(ResourceTable.Id_guide_two, null, false));
components.add(LayoutScatter.getInstance(getContext()).parse(ResourceTable.Id_guide_three, null, false));
mContentBanner.setData(components);
Метод 3: Конфигурация источника данных путём передачи ID ресурсов изображений.
BGALocalImageSize localImageSize = new BGALocalImageSize(720, 1280, 320, 640);
mContentBanner.setData(localImageSize, ImageView.ScaleType.CENTER_CROP,
ResourceTable.Media_guide_background_1,
ResourceTable.Media_guide_background_2,
ResourceTable.Media_guide_background_3);
Отслеживание события клика на элементах рекламы.
mContentBanner.setDelegate(new BGABanner.Delegate<Image, String>() {
@Override
public void onBannerItemClick(BGABanner banner, Image itemView, String model, int position) {
new ToastDialog(getContext()).setText("Кликнули на позицию " + position).show();
}
});
Установка ID ресурсов кнопок «вход» и «пропустить» и их событий клика.
mBackgroundBanner.setEnterSkipViewIdAndDelegate(getAbility(), ResourceTable.Id_btn_guide_enter, ResourceTable.Id_tv_guide_skip, () -> {
Intent resultData = new Intent();
Operation operation = new Intent.OperationBuilder()
.withDeviceId("")
.withBundleName("cn.bingoogolapple.bgabanner.demo")
.withAbilityName("cn.bingoogolapple.bgabanner.demo.ui.MainAbility")
.build();
resultData.setOperation(operation);
startAbility(resultData);
Intent forwardData = new Intent();
Operation forwardOperation = new Intent.OperationBuilder()
.withDeviceId("")
.withBundleName("cn.bingoogolapple.bgabanner.demo.ui")
.withAbilityName("cn.bingoogolapple.bgabanner.demo.ui.GuideAbility")
.build();
forwardData.setOperation(forwardOperation);
GuideAbilitySlice.this.stopAbility(forwardData);
});
Свойства атрибутов:
<!-- Контейнер для указателей -->
banner_pointContainerBackground
<!-- Лево-правый внутренний отступ контейнера указателей -->
banner_pointContainerLeftRightPadding
<!-- Верхний-нижний внешний отступ указателя -->
banner_pointTopBottomMargin
<!-- Лево-правый внешний отступ указателя -->
banner_pointLeftRightMargin
<!-- Расположение указателя -->
banner_dicatorLeftOrRightOrCenter="right"
<!-- Расположение текста указателя -->
banner_dicatorTextLeftOrRightOrCenter="left"
<!-- Включение автоматического воспроизведения -->
banner_pointAutoPlayAble
<!-- Интервал времени между автоматическими воспроизведениями -->
banner_pointAutoPlayInterval
<!-- Продолжительность перехода между страницами -->
banner_pageChangeDuration
<!-- Цвет текста подсказки -->
banner_tipTextColor
<!-- Размер текста подсказки -->
banner_tipTextSize
<!-- Обложка для временной замены при загрузке сетевых данных -->
banner_placeholderDrawable
<!-- Использование цифровых указателей -->
banner_isNumberIndicator
<!-- Цвет текста цифровых указателей -->
banner_numberIndicatorTextColor
<!-- Размер текста цифровых указателей -->
banner_numberIndicatorTextSize
<!-- Фон цифровых указателей -->
banner_numberIndicatorBackground
<!-- Отображение указателей при одной странице данных -->
banner_isNeedShowIndicatorOnOnlyOnePage
<!-- Отступ содержимого от нижней части BGABanner -->
banner_contentBottomMargin
<!-- Соотношение сторон, если больше 0, высота будет вычисляться на основе ширины -->
banner_aspectRatio
<!-- Масштабирование обложки и ресурсного изображения -->
ohos:ScaleMode
Проверка кода CodeCheck прошла успешно
Проверка CloudTest прошла успешно
Программа прошла проверку безопасности от вирусов
Функциональность текущей версии демонстрационного примера практически не отличается от оригинального компонента
Copyright 2015 bingoogolapple
Лицензировано согласно лицензии Apache License, Version 2.0 ("Лицензия").
Вы можете использовать этот файл только в соответствии с Лицензией.
Вы можете получить копию Лицензии по адресу
http://www.apache.org/licenses/LICENSE-2.0
Кроме случаев, предусмотренных применимыми законами или соглашениями в письменной форме, программное обеспечение,
распространяемое в рамках Лицензии, предоставляется "КАК ЕСТЬ".
БЕЗ ГАРАНТИЙ ИЛИ УСЛОВИЙ КАКОГО-ЛИБО ТИПА, как явных, так и подразумеваемых.
Смотрите Лицензию для конкретного языка, регулирующего права и условия использования этого программного обеспечения.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )