学习笔记Android轮播图框架Banner
16lz
2021-01-23
Android轮播图简单实现
1. 添加依赖项
implementation 'com.youth.banner:banner:1.4.10'implementation 'com.github.bumptech.glide:glide:4.9.0'annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
2. 添加权限到 AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
3. 布局文件
使用ConstraintLayout可以很方便的设置内部控件的长宽比例,感兴趣的可以了解一下
<android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <com.youth.banner.Banner android:id="@+id/banner_home" android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintDimensionRatio="16:7" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" />android.support.constraint.ConstraintLayout>
4. Activity
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Banner banner=findViewById(R.id.banner_home); //创建图片集合 List<String>images = new ArrayList<>(); images.add("我是图片外链"); images.add("我是图片外链"); images.add("我是图片外链"); banner.setImages(images)//设置图集 .setDelayTime(3000)//轮播间隔时间 .setImageLoader(new GlideImageLoader())//设置图片加载器 .start();}//图片加载器public class GlideImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(context).load(path).into(imageView); }}
------更多详细设置------
//设置banner样式banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);//设置图片加载器banner.setImageLoader(new GlideImageLoader());//设置图片集合banner.setImages(images);//设置banner动画效果banner.setBannerAnimation(Transformer.DepthPage);//设置标题集合(当banner样式有显示title时)banner.setBannerTitles(titles);//设置自动轮播,默认为truebanner.isAutoPlay(true);//设置轮播时间banner.setDelayTime(1500);//设置指示器位置(当banner模式中有指示器时)banner.setIndicatorGravity(BannerConfig.CENTER);//banner设置方法全部调用完毕时最后调用banner.start();
其他图片资源加载
//资源文件Integer[] images={R.mipmap.a,R.mipmap.b,R.mipmap.c};//UriUri uri = resourceIdToUri(context, R.mipmap.ic_launcher);Uri[] images={uri};//文件对象File[] images={"文件对象","文件对象"};//raw 两种方式String[] images={"Android.resource://com.frank.glide/raw/raw_1"};String[] images={"android.resource://com.frank.glide/raw/"+R.raw.raw_1"};//ContentProviderString[] images={"content://media/external/images/media/139469"};//assetsString[] images={"file:///android_asset/f003.gif"};//sd卡资源String[] images={"file://"+ Environment.getExternalStorageDirectory().getPath()+"/test.jpg"};banner.setImages(images);//这里接收集合
常量
方法 | 常量名 | 描述 |
---|---|---|
setBannerStyle | BannerConfig.NOT_INDICATOR | 不显示指示器和标题 |
setBannerStyle | BannerConfig.CIRCLE_INDICATOR | 显示圆形指示器 |
setBannerStyle | BannerConfig.NUM_INDICATOR | 显示数字指示器 |
setBannerStyle | BannerConfig.NUM_INDICATOR_TITLE | 显示数字指示器和标题 |
setBannerStyle | BannerConfig.CIRCLE_INDICATOR_TITLE | 显示圆形指示器和标题(垂直显示) |
setBannerStyle | BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE | 显示圆形指示器和标题(水平显示) |
setIndicatorGravity | BannerConfig.LEFT | 指示器居左 |
setIndicatorGravity | BannerConfig.CENTER | 指示器居中 |
setIndicatorGravity | BannerConfig.RIGHT | 指示器居右 |
更多相关文章
- android 读取raw下的视频文件
- Android 实现九宫格、点击图片放大全屏浏览等
- android之下载文件
- android处理资源文件复制到database区域java
- android 获取视频文件第一针 作为封面
- Android ImageView图片浏览器(ImageView加载sd卡图片资源)的内存溢
- Android 打开这个 apk文件
- android实现点击图片全屏展示效果
- Android 文件读取操作