Android使用banner实现自动手动轮播图
16lz
2021-01-24
无图无真相
Banner Github地址:https://github.com/youth5201314/banner
首先添加依赖:
//banner轮播框架
implementation 'com.youth.banner:banner:1.4.10'
// Glide 图片加载
implementation 'com.github.bumptech.glide:glide:3.7.0'
然后编写xml布局
<?xml version="1.0" encoding="utf-8"?>
之后编写Mainactivity类
package com.example.bannerdemo;import android.content.Context;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.widget.ImageView;import android.widget.Toast;import com.bumptech.glide.Glide;import com.youth.banner.Banner;import com.youth.banner.BannerConfig;import com.youth.banner.Transformer;import com.youth.banner.listener.OnBannerListener;import com.youth.banner.loader.ImageLoader;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity implements OnBannerListener { private Banner mBanner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } public void initView() { mBanner = findViewById(R.id.mBanner); //图片资源 int[] imageResourceID = new int[]{R.mipmap.one_photo, R.mipmap.two_photo, R.mipmap.three_photo, R.mipmap.four_photo}; List imgeList = new ArrayList<>(); //轮播标题 String[] mtitle = new String[]{"图片1", "图片2", "图片3", "图片4"}; List titleList = new ArrayList<>(); for (int i = 0; i < imageResourceID.length; i++) { imgeList.add(imageResourceID[i]);//把图片资源循环放入list里面 titleList.add(mtitle[i]);//把标题循环设置进列表里面 //设置图片加载器,通过Glide加载图片 mBanner.setImageLoader(new ImageLoader() { @Override public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(MainActivity.this).load(path).into(imageView); } }); //设置轮播的动画效果,里面有很多种特效,可以到GitHub上查看文档。 mBanner.setBannerAnimation(Transformer.Accordion); mBanner.setImages(imgeList);//设置图片资源 mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);//设置banner显示样式(带标题的样式) mBanner.setBannerTitles(titleList); //设置标题集合(当banner样式有显示title时) //设置指示器位置(即图片下面的那个小圆点) mBanner.setIndicatorGravity(BannerConfig.CENTER); mBanner.setDelayTime(1000);//设置轮播时间3秒切换下一图 mBanner.setOnBannerListener(this);//设置监听 mBanner.start();//开始进行banner渲染 } } @Override protected void onStart() { super.onStart(); mBanner.startAutoPlay();//开始轮播 } @Override protected void onStop() { super.onStop(); mBanner.stopAutoPlay();//结束轮播 } //对轮播图设置点击监听事件 @Override public void OnBannerClick(int position) { Toast.makeText(this, "你点击了第" + (position + 1) + "张轮播图", Toast.LENGTH_SHORT).show(); }}
如果还想看查找Fragment+ViewPager实现无限轮播博客地址:https://blog.csdn.net/qq_38363506/article/details/84936459
更多相关文章
- 演化理解 Android(安卓)异步加载图片
- Android(安卓)开源框架
- Android开源项目推荐之【图片选择器】
- Android(安卓)屏幕适配方案系列三
- Android下图片处理的的一些方法
- Android(安卓)Actionbar(标题栏)的背景设置
- androidの当前时间动态显示
- ListView分页(带图片)显示用法案例
- Android(安卓)okhttp上传多张图片 与 后台接收图片并保存