A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
Клон BannerView от Meizu, компонент для плавного прокручивания изображений. Поддерживает несколько режимов работы: использование ViewPager, обычный баннер и клон баннера от Meizu.
Метод 1:
Создание HAR-пакета с помощью библиотеки и добавление его в папку libs
Добавьте следующий код в gradle файл проекта entry
implementation fileTree(dir: 'libs', include: ['*.jar', '*.har'])
Метод 2:
allprojects {
repositories {
mavenCentral()
}
}
implementation 'io.openharmony.tpc.thirdlib:MZBannerView:1.0.0'
Через DevEco Studio и установка SDK Измените версию dependencies → classpath в build.gradle вашего проекта на ту, что используется при создании нового проекта IDE
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
xmlns:app="http://schemas.huawei.com/res/app"
ohos:width="match_parent"
ohos:height="match_parent"
ohos:orientation="vertical">
<Text
ohos:width="match_parent"
ohos:height="match_content"
ohos:text_color="#aaa"
ohos:text_size="20vp"
ohos:text="Клон баннера Meizu (сетевой)"
ohos:text_alignment="center"
/>
<com.zhouwei.mzbanner.MZBannerView
ohos:id="$+id:banner"
ohos:width="match_parent"
ohos:height="160vp"
ohos:top_margin="10vp"
app:open_mz_mode="true"
app:can_loop="true"
app:middle_page_cover="true"
app:indicator_align="center"
app:indicator_padding_left="10vp"
app:indicator_padding_bottom="50vp"
/>
``` <Text
ohos:width="match_parent"
ohos:height="match_content"
ohos:text_color="#aaa"
ohos:text_size="20fp"
ohos:text="Обычный баннер (сетевой)"
ohos:text_alignment="center"
ohos:top_margin="20vp"
/>
<com.zhouwei.mzbanner.MZBannerView
ohos:id="$+id:banner_normal"
ohos:width="match_parent"
ohos:height="200vp"
ohos:top_margin="10vp"
app:open_mz_mode="false"
app:canLoop="true"
app:indicator_align="center"
/>
```</DirectionalLayout>
public class NetImagesAbilitySlice extends AbilitySlice {
``` private MZBannerView mMZBanner;
private MZBannerView mNormalBanner;
private static String[] imagesMZ = {
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fi0.hdslb.com%2Fbfs%2Farticle%2F725c03f7f1c7346291e8a4b7187e2b7ad762fd3c.jpg&refer=http%3A%2F%2Fi0.hdslb.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1613116329&t=22500bdcab3b90b7a7ee38330acecb34",
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fwww.wallcoo.com%2Fnature%2F2009_Landscape_1680_Desktop_03%2Fwallpapers%2F1280x1024%2FAgricultural%2520Fields%2520and%2520Village%2520Tibet.jpg&refer=http%3A%2F%2Fwww.wallcoo.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1613116329&t=38ec6713b22d2f9a903da65d608a51e6",
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg2.3lian.com%2F2014%2Ff5%2F11%2Fd%2F51.jpg&refer=http%3A%2F%2Fimg2.3lian.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1613116329&t=3620fb9390585ac6d01e8fc4821bd207",
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimage.biaobaiju.com%2Fuploads%2F20190623%2F22%2F1561298984-bAuNFdmJok.jpg&refer=http%3A%2F%2Fimage.biaobaiju.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1613116329&t=434ac89dac1e857e907cd391720d3945",
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fwww.wallcoo.com%2Fnature%2F2009_Landscape_1680_Desktop_03%2Fwallpapers%2F1680x1050%2FWild%2520Goose%2520Island%2520on%2520Saint%2520Mary%2520Lake%2520at%2520Sunrise%2520Glacier%2520National%2520Park%2520Montana.jpg&refer=http%3A%2F%2Fwww.wallcoo.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1613116329&t=77b1b665fbd7ebb89fca615ef87ef68d",
"https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.pconline.com.cn%2Fimages%2Fupload%2Fupc%2Ftx%2Fphotoblog%2F1206%2F13%2Fc12%2F11988648_11988648_1339594072859.jpg&refer=http%3A%2F%2Fimg.pconline.com.cn&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1613116329&t=f3c9bc53d5acb774cb2dccde74390d77"
};```markdown
```java
mMZBanner.addPageChangeListener(new PageSlider.PageChangedListener() {
@Override
public void onPageSliding(int i, float v, int i1) {
}
@Override
public void onPageSlideStateChanged(int i) {
}
@Override
public void onPageChosen(int i) {
}
});
List<String> normalBannerList = new ArrayList<>();
for (int i = 0; i < imagesMZ.length; i++) {
normalBannerList.add(imagesMZ[i]);
}
List<String> mzBannerList = new ArrayList<>();
for (int i = 0; i < imagesMZ.length; i++) {
mzBannerList.add(imagesMZ[i]);
}
mMZBanner.setIndicatorVisible(true);
// Изменение положения индикатора в коде
// mMZBanner.setIndicatorAlign(MZBannerView.IndicatorAlign.LEFT);
// mMZBanner.setIndicatorPadding(10, 0, 0, 150);
mMZBanner.setPages(mzBannerList, new MZHolderCreator<BannerViewHolder>() {
@Override
public BannerViewHolder createViewHolder() {
return new BannerViewHolder();
}
});
публичный статический класс BannerViewHolder реализует MZViewHolder<String> {
частное поле Image mImageView;
частное поле DisplayImageOptions options;
@Переопределение
публичный Component создатьВью(Context контекст) {
// Возвращает страницу с файлом макета
Component вью = LayoutScatter.getInstance(контекст).parse(ResourceTable.Layout_banner_item, null, false);
mImageView = (Image) вью.findComponentById(ResourceTable.Id_banner_image);
options = новый DisplayImageOptions.Builder()
.показатьИмейджПриЗагрузке(ResourceTable.Media_icon)
.показатьИмейжДляПустогоURI(ResourceTable.Media_icon)
.показатьИмейджПриНеудаче(ResourceTable.Media_icon)
.качествоВПамяти(истинно)
.качествоНаДиске(истинно)
.учитыватьEXIFПараметры(истинно)
.битмапКонфиг(PixelFormat.RGB_565)
.собрать();
вернуть вью;
}
}
```Примечание: В данном примере используется конструкция "частное поле" вместо прямого перевода ключевых слов Java, чтобы сохранить смысл оригинального кода. Также были адаптированы названия методов и свойств для лучшего понимания на русском языке.
```java
@Override
public void onBind(Context context, int position, String data) {
ImageLoader.getInstance().displayImage(data, mImageView, options, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, Component view, PixelMap loadedImage) {
super.onLoadingComplete(imageUri, view, loadedImage);
}
});
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
Авторское право © 2017 Zhou Wei
Распространяется в соответствии с лицензией Apache, версия 2.0 ("Лицензия"); вы можете использовать этот файл только в рамках данной Лицензии. Вы можете получить копию Лицензии по адресу:
<http://www.apache.org/licenses/LICENSE-2.0>
В случае отсутствия требований применимого закона или письменного соглашения, программное обеспечение распространяется на условиях "КАК ЕСТЬ", БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ ИЛИ УСЛОВИЙ, как явных, так и подразумеваемых. Смотрите Лицензию для конкретного языка, регламентирующего права и условия использования.
Подробнее см. Лицензию для получения информации о правах и ограничениях, предусмотренных Лицензией.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )