Banner 自动无限轮播(普通)
例题:Banner自动无限轮播
build.gradle中加入(加在最下面):compile 'com.youth.banner:banner:1.4.10'
添加之后需要点击右上角的 Sync Now 编译一下
============================================
添加权限:<uses-permission android:name="android.permission.INTERNET"/>
<application/>在这个控件里加入属性:android:name=".MyApplication"
=================================================================libs文件夹下加入jar包: gson 和 universal-image-loader==================================================================布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.shenhuiran_1210.MainActivity"> <com.youth.banner.Banner android:layout_height="300dp" android:layout_width="match_parent" android:id="@+id/mybanner"/></RelativeLayout>====================================================================主要方法:
import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import com.youth.banner.Banner;import java.util.ArrayList; public class MainActivity extends AppCompatActivity { String url = "http://pic39.nipic.com/20140226/18071023_164300608000_2.jpg"; String url1 = "http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg"; String url2 = "https://img-my.csdn.net/uploads/201309/01/1378037235_7476.jpg"; String url3 = "http://pic39.nipic.com/20140226/18071023_164300608000_2.jpg"; String url4 = "http://a0.att.hudong.com/15/08/300218769736132194086202411_950.jpg"; String url5 = "https://img-my.csdn.net/uploads/201309/01/1378037235_7476.jpg"; ArrayList<String> urls; private Banner banner; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); View viewById = findViewById(R.id.mybanner); banner = (Banner) findViewById(R.id.mybanner); initView(); } private void initView() { //把图片url存放到集合中 urls = new ArrayList<String>(); urls.add(url); urls.add(url1); urls.add(url2); urls.add(url3); urls.add(url4); urls.add(url5); banner = (Banner) findViewById(R.id.mybanner); banner.setImageLoader(new MyBannerLoader());//添加自定义的图片加载器 banner.setImages(urls);//设置图片资源 banner.start();//开始轮播 }}=============================================================
ImageloaderUtil 方法:
import android.content.Context;import android.graphics.Bitmap;import android.os.Environment;import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.io.File;public class ImageloaderUtil { /** * ImageLoader的配置 * @param context */ public static void initConfig(Context context) { //配置// File cacheFile=context.getExternalCacheDir(); File cacheFile= new File(Environment.getExternalStorageDirectory()+"/"+"imgages"); ImageLoaderConfiguration config=new ImageLoaderConfiguration.Builder(context) .memoryCacheExtraOptions(480, 800)//缓存图片最大的长和宽 .threadPoolSize(2)//线程池的数量 .threadPriority(4) .memoryCacheSize(2*1024*1024)//设置内存缓存区大小 .diskCacheSize(20*1024*1024)//设置sd卡缓存区大小 .diskCache(new UnlimitedDiskCache(cacheFile))//自定义缓存目录 .writeDebugLogs()//打印日志内容 .diskCacheFileNameGenerator(new Md5FileNameGenerator())//给缓存的文件名进行md5加密处理 .build(); ImageLoader.getInstance().init(config); } /** * 获取图片设置类 * @return */ public static DisplayImageOptions getImageOptions(){ DisplayImageOptions optionsoptions=new DisplayImageOptions.Builder() .cacheInMemory(true)//使用内存缓存 .cacheOnDisk(true)//使用磁盘缓存 .bitmapConfig(Bitmap.Config.RGB_565)//设置图片格式 .build(); return optionsoptions; }}=========================================================================
MyBannerLoader 方法:
import android.content.Context;import android.widget.ImageView;import com.youth.banner.loader.ImageLoader;/** * Created by e531 on 2017/11/17. */public class MyBannerLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { com.nostra13.universalimageloader.core.ImageLoader uImageLoader= com.nostra13.universalimageloader.core.ImageLoader.getInstance(); //path:表示路径 imageview:显示的控件 uImageLoader.displayImage(path.toString(),imageView,ImageloaderUtil.getImageOptions()); }}============================================================================
MyApplication 方法:(在添加权限的name属性中)
import android.app.Application;/** * Created by e531 on 2017/11/17. */public class MyApplication extends Application{ @Override public void onCreate() { super.onCreate(); //初使化 ImageloaderUtil.initConfig(this); }}
转载于:https://www.cnblogs.com/shenhuiran/p/8032592.html
Banner 自动无限轮播(普通)相关推荐
- Android自定义View实现自动无限轮播,点击图片进入详情页
图片接口 http://120.27.23.105/ad/getAd 需要导入Glide设置图片的依赖 compile 'com.github.bumptech.glide:glide:3.7.0' ...
- iOS UI篇——轮播图Banner图片动图混合无限轮播
KJBannerView 介绍一下自己之前写的无限轮播图库,无限自动循环滚动,大家有什么需求可以给我留言,持续更新中- Demo地址:KJBannerViewDemo 功能介绍 KJBannerVie ...
- 【Swift】自定义控件无限轮播 + 无限图片轮播
CocoaPods安装 pod 'PGBannerSwift' 复制代码 使用 1.无限图片轮播 首先引入import PGBannerSwift let banner = PGBanner(fram ...
- ViewPager两种方式实现无限轮播
给自己的忠告:虽然轮子很好用,但是使用轮子的前提是:如果不去封装一些复杂的功能,自己会用最基本的方法写一个,不然再好的轮子那也是别人的,当自己项目遇到和轮子不一样的地方,那就只能束手无策或者改人家的源 ...
- 用JavaScript实现网页无限轮播图效果,附整套源码
用JavaScript实现无限轮播图效果(附源码) javascript群内每日课题-今日课题:用JavaScript实现无限轮播图效果 PS:很多企业通用的案例自己再学习过程中肯定是要熟练的,所以今 ...
- 利用RecyclerView实现无限轮播广告条
代码地址如下: http://www.demodashi.com/demo/14771.html 前言: 公司产品需要新增悬浮广告条的功能,要求是可以循环滚动,并且点击相应的浮条会跳转到相应的界面,在 ...
- iOS 两种不同的图片无限轮播
代码地址如下: http://www.demodashi.com/demo/11608.html 前记 其实想写这个关于无限轮播的记录已经很久很久了,只是没什么时间,这只是一个借口,正如:时间就像海绵 ...
- 引导界面滑动导航 + 大于等于1页时无限轮播 + 各种切换动画轮播效果
参考地址: https://github.com/bingoogolapple/BGABanner-Android#%E6%95%88%E6%9E%9C%E5%9B%BE%E4%B8%8E%E7%A4 ...
- iOS无限轮播图片的两种方式
2019独角兽企业重金招聘Python工程师标准>>> 1 使用UIScrollview实现无限轮播原理 在开发中常需要对广告或者是一些图片进行自动的轮播,也就是所谓的无限滚动. 在 ...
最新文章
- ❤️Spark的关键技术回顾,持续更新!【推荐收藏加关注】❤️
- 关于debug.keystore文件用法以及错误处理
- python中的序列类型和序列号_python~序列类型及操作
- QDoc包括代码内联includecodeinline
- Java中sleep,wait,yield,join的区别
- Nginx之进程间的通信机制-Channel
- 硬核分析|腾讯云原生OS内存回收导致关键业务抖动问题
- .NET异常设计原则
- 搜索——滑雪(poj1088)
- 【报告分享】2022年元宇宙全球年度(202页干货):蓄积的力量-北京大学.pdf(附下载链接)...
- 公钥与私钥,数字签名
- PHP JAVA BASE64 encode decode
- 钉钉日志范文100篇_钉钉工作日记(模板一)
- cad2019菜单栏怎么调出来_AutoCAD2019工具栏如何调出?工具栏调出方法图文推荐
- python3 判断.xlsl表的两列是否一致
- linux安装硬盘超过2t,linux 硬盘超过2T问题
- 腾讯云运维干货沙龙-海量运维实践大曝光 (一)
- JRebel激活与配置
- flutter 背景图片毛玻璃效果
- [java] 设计模式
热门文章
- http文件服务器和ftp文件服务器,http和ftp文件服务器
- 19-7-14 学习笔记
- 一个成熟的网站模板如何引起用户的注意?
- 电脑python安装库_Python安装第三方库的3种方法 -电脑资料
- 网页html是什么语言程序,html是什么
- 吉大c 语言程序设计奥鹏作业,吉大19秋学期《C语言程序设计》在线作业一【满分答案】...
- 求一个简单的java线程代码,Java线程代码的实现方法
- 5训练需要更改参数吗_这就是需要的瘦肚子训练,5个杠铃片腹肌训练动作暴汗燃脂瘦腰腹...
- confusion_matrix函数的使用
- 2015年各银行无抵押信用贷款利率及额度是多少?