zoukankan      html  css  js  c++  java
  • 029 Android 轮播图广告Banner开源框架使用

    1.Banner介绍

    现在的绝大数app都有banner界面,实现循环播放多个广告图片和手动滑动循环等功能。

    2.使用环境配置(具体可见github开源项目)

    (1)添加依赖

    在build.gradle(app)文件内添加依赖

    dependencies{
        compile 'com.youth.banner:banner:1.4.10'  //最新版本
       implementation 'com.github.bumptech.glide:glide:3.7.0'
    }

    (2)添加权限到你的 AndroidManifest.xml

    <!-- if you want to load images from the internet -->
    <uses-permission android:name="android.permission.INTERNET" /> 
    
    <!-- if you want to load images from a file OR from the internet -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    (3)在布局文件中添加Banner,可以设置自定义属性

    <com.youth.banner.Banner
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="高度自己设置" />

    3.使用案例

    (1)xml文件布局

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity">
    
        <com.youth.banner.Banner xmlns:app="http://schemas.android.com/apk/res-auto"
            android:id="@+id/banner"
            android:layout_width="match_parent"
            android:layout_height="150dp" />
    
    </LinearLayout>

    (2)java后台

    <1>图片加载器

    package com.example.administrator.test63advertisebanner;
    
    import android.content.Context;
    import android.widget.ImageView;
    
    import com.bumptech.glide.Glide;
    import com.youth.banner.loader.ImageLoader;
    
    /**
     * 图片加载器
     */
    public class GlideImageLoader extends ImageLoader {
        @Override
        public void displayImage(Context context, Object path, ImageView imageView) {
            //Glide 加载图片简单用法
            Glide.with(context)
                    .load(path)
                    .into(imageView);
        }
    }

    <2>MainActivity.java

    package com.example.administrator.test63advertisebanner;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    
    import com.youth.banner.Banner;
    import com.youth.banner.BannerConfig;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //资源文件
            List<Integer> images=new ArrayList<>();
            List<String> titleList=new ArrayList<>();
            images.add(R.mipmap.a);
            images.add(R.mipmap.b);
            images.add(R.mipmap.c);
            images.add(R.mipmap.d);
            titleList.add("iphonexr牛逼");
            titleList.add("手机王牌对王牌");
            titleList.add("华为P30");
            titleList.add("梁山伯与祝英台");
            Banner banner = findViewById(R.id.banner);
            //设置内置样式,共有六种可以点入方法内逐一体验使用。
            banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
            //设置图片加载器
            banner.setImageLoader(new GlideImageLoader());
            //设置图片集合
            banner.setImages(images);
            //设置轮播图的标题集合
            banner.setBannerTitles(titleList);
            //banner设置方法全部调用完毕时最后调用
            banner.start();
        }
    }

    4.效果图

  • 相关阅读:
    枚举、函数关于oracle函数listagg的使用说明by小雨
    执行、Mongodb MapReduce示例1个by小雨
    事务、异常TSQL 编码时应该注意的10个问题by小雨
    源、执行GoldenGate 单向DDL同步by小雨
    Oracle中的所有权限by小雨
    数据库、版本数据库学习从此开始by小雨
    统计、案例深入理解Oracle索引(10):索引列字符类型统计信息的32位限制by小雨
    字段、数据库表三大范式及存储方式by小雨
    数据库、用户第二章Getting Start with the Oracle Server(oracle入门)by小雨
    搜索、关键字截图留念,“万能数据库查询分析器”作为关键字在百度和谷歌上的海量搜索结果by小雨
  • 原文地址:https://www.cnblogs.com/luckyplj/p/10875512.html
Copyright © 2011-2022 走看看