android 定时更新banner图片,Android 用banner简单实现图片无限循环
直接上图
不知道怎么放动态图。
实现步骤
1、导入引入所需要的包implementation 'com.youth.banner:banner:1.4.10'
implementation 'com.github.bumptech.glide:glide:3.7.0'
2、xml布局文件
android:id="@+id/banner1"
android:layout_width="wrap_content"
android:layout_height="200dp">
3、activity代码activity代码
public class MainActivityextends AppCompatActivityimplements OnBannerListener {
Contextcontext;
Bannerbanner;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context=MainActivity.this;
setBanner();
}
private void setBanner()
{
banner=findViewById(R.id.banner1);
List imgs=new ArrayList<>();
imgs.add(getStringFromDrawableRes(context,R.drawable.p1));
imgs.add(getStringFromDrawableRes(context,R.drawable.p2));
imgs.add(getStringFromDrawableRes(context,R.drawable.p3));
List titles =new ArrayList<>();
titles.add("教育图片1");
titles.add("教育图片2");
titles.add("教育图片3");
//设置内置样式,共有六种可以点入方法内逐一体验使用。
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE_INSIDE);
//设置图片加载器,图片加载器在下方
banner.setImageLoader(new MyLoader());
//设置图片网址或地址的集合
banner.setImages(imgs);
//设置轮播的动画效果,内含多种特效,可点入方法内查找后内逐一体验
banner.setBannerAnimation(Transformer.Default);
//设置轮播图的标题集合
banner.setBannerTitles(titles);
//设置轮播间隔时间
banner.setDelayTime(3000);
//设置是否为自动轮播,默认是“是”。
banner.isAutoPlay(true);
//设置指示器的位置,小点点,左中右。
banner.setIndicatorGravity(BannerConfig.CENTER)
//以上内容都可写成链式布局,这是轮播图的监听。比较重要。方法在下面。
.setOnBannerListener(this)
//必须最后调用的方法,启动轮播图。
.start();
}
@Override
public void OnBannerClick(int position) {
Log.i("tag", "你点了第"+position+"张轮播图");
}
//自定义的图片加载器
private class MyLoaderextends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.with(context).load((String) path).into(imageView);
}
}
public static String getStringFromDrawableRes(Context context, int id) {
Resources resources = context.getResources();
String path = ContentResolver.SCHEME_ANDROID_RESOURCE +"://"
+ resources.getResourcePackageName(id) +"/"
+ resources.getResourceTypeName(id) +"/"
+ resources.getResourceEntryName(id);
return path;
}
//当返回到activity,继续
@Override
protected void onResume() {
super.onResume();
banner.start();
}
//activity停止
@Override
protected void onStop() {
super.onStop();
banner.stopAutoPlay();
}
4、运行即可!
注:
文章参考于
https://blog.csdn.net/qq_36621990/article/details/76020236
见前辈写我自己不太好理解,也为了加强自己的记忆,我该可以下,记下来了。
小白变成,不喜勿喷,谢谢,如有不足,多多指教。
android 定时更新banner图片,Android 用banner简单实现图片无限循环相关推荐
- android热更新插件,与Android热更新方案Amigo的再次接触
Amigo 作为一个"过气"的的热修复框架,用来学习和了解一下热修复的基本原理还是很好的.本文是本系列的第三篇. 前两篇: 与Android 热更新方案Amigo的初次接触 原作者 ...
- lg 禁用android系统更新,LG 手机Android 11更新:部分最晚四季度才更新
原标题:LG 手机Android 11更新:部分最晚四季度才更新 LG Velvet 和 LG V60 手机在韩国已经更新到了 Android 11,但据 LG 的德国网站上显示,部分解锁的 LG 手 ...
- java 简单图片浏览器_Java实现简单的图片浏览器
第一次写博客,不喜勿喷. 最近一个小师弟问我怎么用Java做图片浏览器,感觉好久没玩Java了,就自己动手做了一下. 学校的教程是用Swing来做界面的,所以这里也用这个来讲. 首先要做个大概的界面出 ...
- 计算机画图水印怎么可以消除,如何去掉图片水印 画图工具简单去掉图片水印教程-电脑教程...
相信大家都会有这样的经历,在网上下载的很多图片上都会有水印,但如果我们为了美观,要去掉图片水印该如何实现呢?对于很多朋友来说,这可能是一个比较复杂的问题,因为自己不会PS.其实华强电子网小编告诉大家, ...
- android 热更新 方案,与Android热更新方案Amigo的初次接触
主要记下引入Amigo的过程. 修复前:点击文字没有跳转 修复后:点击文字可以跳转(增加了Activity和布局文件) 其实热更新最重要的是不需要重新安装apk,有的甚至不需要重启app,就可以更新代 ...
- android动态更新数据库数据,Android数据库更新——上万条数据的插入
在实际情况下,很可能遇到会向一个表中插入10万条数据,而这样的数据库更新,如果用寻常的方式,在SQLiteOpenHelper.onUpdate()方法中不断的执行SQL语句,那么效率是可想而知的,甚 ...
- android 定时在通知栏提醒,Android 如何让程序定时进行消息通知到通知栏
实现定时推送信息到通知栏 MainActivity.class public class MainActivity extends Activity { @Override protected voi ...
- android 图片轮播圆点,简单的图片轮播 加小圆点
先说一下思路,使用ViewPager加 LinearLayout 布局 共同实现, 先看布局 android:layout_width="match_parent" androi ...
- android热更新框架nuwa,Android热更新技术——Tinker、nuwa、AndFix、Dexposed
一.热修复技术作用 线上app BUG紧急修复,不重新发版,不重新安装,在线远程修复问题 二.局限性与适用场景 补丁只能针对单一客户端版本,随着版本差异变大补丁体积也会增大: 补丁不能支持所有的修改, ...
最新文章
- 剑指offer八:跳台阶
- MapReduce Java API实例-排序
- 区块链(1)——以太坊下载安装(我营销?营销个屁)
- Android ViewPager
- Spotify模式并非“敏捷涅磐”
- 7、mybatis中的sql映射文件详解(2)
- [EmguCV|C#]使用CvInvoke自己繪製色彩直方圖-直方圖(Hitsogram)系列(4)
- 《精通Matlab数字图像处理与识别》一6.2 傅立叶变换基础知识
- 喜用神最正确的算法_各种电磁仿真算法的优缺点和适用范围(FDTD, FEM和MOM等)...
- axios post body参数_vue之axios封装
- 在linux云服务器上运行Jar文件
- windows 下nodejs 升级无法通过n模块升级
- mac 使用 pf 做端口转发
- C语言中指针与数组的区别,C语言 指针与数组的详解及区别
- java中的包装类和基本类型_java中基本类型和包装类型实践经验
- struts2 传递json对象时的延迟加载异常处理方法
- 如何判定多边形是顺时针还是逆时针
- 马克飞象的markdown语法和其它markdown语法的区别
- phalcon 自动加载_Phalcon自动加载(PHP自动加载)
- 崩坏3服务器维护2月8号,《崩坏3》2月8日更新内容 符华月轮正式上线
热门文章
- C++ 对象模型 第二章 构造函数语意学
- 7-5 计算2个复数之和与之积
- [长安战疫-cazy] Web题解
- [深度应用]·实战掌握PyTorch图片分类简明教程
- 小程序占服务器空间吗,小程序会占用手机存储空间吗?| 小程序问答 #21
- 微信小程序—自定义(城市选择)弹窗组件,将弹窗组件的值传给调用页面并显示(图文)
- MySQL行转列函数
- 利用python抓取指定格式数据并翻译
- Java 数据交换格式反射机制SpringIOC原理分析
- asp.nett网站发布过程