Android——图片轮播
Android技术——轮播功能
轮播需要什么? 答:实现图片与广告语展示、循环播发以及手动切换、支持加载本地与网络图片。
性能优化? 答:多张图片与指示器展示、自动与定时、循环播发、滑动流畅并且无卡顿、加载速度、图片点击。
下面介绍一种简单又好用的图片轮播控件-banner
1.先在gradle加入依赖包:compile 'com.youth.banner:banner:1.1.5'
2.布局文件:
<com.youth.banner.Banner
android:layout_width="match_parent"
android:layout_height="300dp"
android:id="@+id/banner">
</com.youth.banner.Banner>
3.然后在Activity进行配置
public class BannerActivity extends AppCompatActivity {
private Banner banner;
//设置图片资源:url或本地资源
String[] images= new String[] {
"http://img.zcool.cn/community/0166c756e1427432f875520f7cc838.jpg",
"http://img.zcool.cn/community/018fdb56e1428632f875520f7b67cb.jpg",
"http://img.zcool.cn/community/01c8dc56e1428e6ac72531cbaa5f2c.jpg",
"http://img.zcool.cn/community/01fda356640b706ac725b2c8b99b08.jpg",
"http://img.zcool.cn/community/01fd2756e142716ac72531cbf8bbbf.jpg",
"http://img.zcool.cn/community/0114a856640b6d32f87545731c076a.jpg"};
//设置图片标题:自动对应
String[] titles=new String[]{
"全场2折起","十大星级品牌联盟",
"嗨购5折不要停","12趁现在",
"嗨购5折不要停,12.12趁现在",
"实打实大顶顶顶顶"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_banner);
banner= (Banner) findViewById(R.id.banner); //绑定id
banner.setBannerStyle(Banner.CIRCLE_INDICATOR_TITLE); //设置样式
banner.setIndicatorGravity(Banner.CENTER); //指示器居中
banner.setBannerTitle(titles); //广告词
banner.isAutoPlay(true); //是否自动播放
banner.setDelayTime(5000); //设置时间
//自定义图片加载框架
banner.setImages(images, new Banner.OnLoadImageListener() {
@Override
public void OnLoadImage(ImageView view, Object url) {
System.out.println("加载中");
Glide.with(getApplicationContext()).load(url).into(view); //glide图片加载 超级好用
System.out.println("加载完");
}
});
//设置点击事件
banner.setOnBannerClickListener(new Banner.OnBannerClickListener() {
@Override
public void OnBannerClick(View view, int position) {
Toast.makeText(getApplicationContext(),"你点击了:"+position,Toast.LENGTH_SHORT).show();
}
});
}
}
4.加入网络权限:
<uses-permission android:name="android.permission.INTERNET" />
展示:


是不是很简单啊!反正我觉得很好用,没有了以前viewPager的卡死,而且配置程度很高,可以灵活的设置图片的数量、循环时间、图片加载的方式,指示器配置等。这个黑科技还不错吧!觉得不错的同学点个赞吧!
想要了解更多的可以去原作者的GitHub Android广告图片轮播控件
Android——图片轮播的更多相关文章
- 一起写一个Android图片轮播控件
注:本文提到的Android轮播控件Demo地址: Android图片轮播控件 1. 轮播控件的组成部分 我们以知乎日报Android客户端的轮播控件为例,分析一下轮播控件的主要组成: 首先我们要有用 ...
- Android 图片轮播(最简单的)
布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android ...
- Android图片轮播控件
Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式.动画.轮播和切换时间.位置.图片加载框架等! 使用步骤 Step 1.依赖banner Gradle dependenci ...
- 【Android】android图片轮播
第一步,先写一个布局文件 <com.main.util.SlideShowView android:id="@+id/slideshowView" android:layou ...
- Android开发(九)——ViewFlipper实现图片轮播
图片轮播的实现方法有很多,主要有View.ViewFilpper.ViewFilpper系统自带的一个多页面管理控件,它可以实现子界面的自动切换. 首先 需要为ViewFlipper加入View (1 ...
- Android 开发最牛的图片轮播控件,基本什么都包含了。
Android图片轮播控件 源码下载地址: Android 图片轮播 现在的绝大数app都有banner界面,实现循环播放多个广告图片和手动滑动循环等功能.因为ViewPager并不支持循环翻页, ...
- Android——播放器和图片轮播
layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...
- Android学习笔记之图片轮播...
PS:一个bug又折腾了一个下午....哎... 学习内容: 1.Android利用ViewPager和PagerAdapter实现图片轮播... 2.使用反射机制获取Android的资源信息... ...
- Android Studio导入GitHub上的项目常见问题(以图片轮播开源项目为实例)
前言:github对开发者而言无疑是个宝藏,但想利用它可不是件简单的事,用Android studio导入开源项目会遇到各种问题,今天我就以github上的一个图片轮播项目为例,解决导入过程中的常见问 ...
随机推荐
- 批量修改mac系统文件的可读写权限
www 修改 /Users/feiwang 文件夹下的www 下的所有文件和文件的可读写权限.
- Linux设置Swap虚拟内存方法
linux可以文件或者分区来当作虚拟内存. 首先查看当前的内存和swap 空间大小(默认单位为k, -m 单位为M): free -m 查看swap信息,包括文件和分区的详细信息 swapon -s或 ...
- DOM简单梳理
DOM(Document Object Model)是一套对文档的内容进行抽象和概念化的方法. 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML ...
- jsp内置对象-out对象
1.概念:隐含对象out是javax.servlet.jsp.JspWriter类的实例,是一个带缓冲的输出流,通过out对象实现服务器端向客户端输出字符串. 缓冲区的容量是可以设置的,甚至可以关闭, ...
- Catalan卡特兰数入门
简介 卡特兰数是组合数学中的一种常见数列 它的前几项为: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, ...
- 自然语言处理NLP快速入门
自然语言处理NLP快速入门 https://mp.weixin.qq.com/s/J-vndnycZgwVrSlDCefHZA [导读]自然语言处理已经成为人工智能领域一个重要的分支,它研究能实现人与 ...
- Dagger2源码浅析
dagger2是目前android端比较火的一款依赖注入框架,先来看下基本的用法吧: 首先提供module,类似于工厂: @Module public class ApiServiceModule { ...
- Python第四天 流程控制 if else条件判断 for循环 while循环
Python第四天 流程控制 if else条件判断 for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天 安装 shell 文件 Python第二天 ...
- 【转载】FPGA算法设计随笔
FPGA设计算法依次需要完成MATLAB浮点仿真 MATLAB定点仿真 verilogHDL定点运算以及数据对比的流程.其中浮点到定点的转换尤为重要,需要在数据表示范围和精度之间做出权衡.另外掌握定点 ...
- SQLServer之创建唯一非聚集索引
创建唯一非聚集索引典型实现 唯一索引可通过以下方式实现: PRIMARY KEY 或 UNIQUE 约束 在创建 PRIMARY KEY 约束时,如果不存在该表的聚集索引且未指定唯一非聚集索引,则将自 ...