自定义广告轮播
来源:互联网 发布:淘宝上卖什么利润高 编辑:程序博客网 时间:2024/05/22 12:35
与第三方框架Banner比较: 缺点是代码太多,不能轮播本地图片
step1.拷贝jar包
step2.拷贝图片
step3.拷贝xml
step4.拷贝所需要的代码
step4.更改activity的xml中布局文件
step5.在activity中写代码
public class MainActivity extends AppCompatActivity {
private List<ImageView> views = new ArrayList<>();
private List<ADInfo> infos = new ArrayList<>();
private CycleViewPager cycleViewPager;
private String[] imageUrls;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
configImageLoader();
initialize();
}
private void initialize() {
cycleViewPager = (CycleViewPager) getFragmentManager()
.findFragmentById(R.id.fragment_cycle_viewpager_content);
imageUrls=getResources().getStringArray(R.array.url);
for (int i = 0; i < imageUrls.length; i++) {
ADInfo info = new ADInfo();
info.setUrl(imageUrls[i]);
info.setContent("图片-->" + i);
infos.add(info);
}
// 将最后一个ImageView添加进来
views.add(ViewFactory.getImageView(this, infos.get(infos.size() - 1)
.getUrl()));
for (int i = 0; i < infos.size(); i++) {
views.add(ViewFactory.getImageView(this, infos.get(i).getUrl()));
}
// 将第一个ImageView添加进来
views.add(ViewFactory.getImageView(this, infos.get(0).getUrl()));
// 设置循环,在调用setData方法前调用
cycleViewPager.setCycle(true);
// 在加载数据前设置是否循环
cycleViewPager.setData(views, infos, mAdCycleViewListener);
// 设置轮播
cycleViewPager.setWheel(true);
// 设置轮播时间,默认5000ms
cycleViewPager.setTime(3000);
// 设置圆点指示图标组居中显示,默认靠右
cycleViewPager.setIndicatorCenter();
}
private CycleViewPager.ImageCycleViewListener mAdCycleViewListener = new CycleViewPager.ImageCycleViewListener() {
@Override
public void onImageClick(ADInfo info, int position, View imageView) {
if (cycleViewPager.isCycle()) {
Toast.makeText(MainActivity.this,
"position-->" + info.getContent(), Toast.LENGTH_SHORT)
.show();
}
}
};
/**
* 配置ImageLoder
*/
private void configImageLoader() {
// 初始化ImageLoader
@SuppressWarnings("deprecation")
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.icon_stub) // 设置图片下载期间显示的图片
.showImageForEmptyUri(R.drawable.icon_empty) // 设置图片Uri为空或是错误的时候显示的图片
.showImageOnFail(R.drawable.icon_error) // 设置图片加载或解码过程中发生错误显示的图片
.cacheInMemory(true) // 设置下载的图片是否缓存在内存中
.cacheOnDisc(true) // 设置下载的图片是否缓存在SD卡中
// .displayer(new RoundedBitmapDisplayer(20)) // 设置成圆角图片
.build(); // 创建配置过得DisplayImageOption对象
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
getApplicationContext()).defaultDisplayImageOptions(options)
.threadPriority(Thread.NORM_PRIORITY - 2)
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO).build();
ImageLoader.getInstance().init(config);
}}
step6.在配置文件中添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
step7.修改报错
源代码地址:http://download.csdn.net/detail/daidaishuiping/9754063
1 0
- 自定义广告轮播
- Android自定义轮播广告
- 14.自定义广告轮播GalleryDemo
- 自定义控件(二)--广告轮播
- iOS开发:自定义库实现广告图片轮播
- 自定义ViewPage+底部指示器(广告图片轮播)
- 自定义的广告轮播---(二)(无限循环)
- 自定义的广告轮播 --(三)(无限循环)
- Android自定义控件BannerLayout,实现广告轮播
- 广告轮播效果
- jquery 广告轮播
- scrollView广告轮播
- IOS 轮播广告
- ScrollView广告轮播
- iOS 广告轮播
- 广告轮播
- 广告轮播
- 广告轮播功能
- Android app支付-微信支付
- log4j.properties 详解与配置步骤
- python操作mysql数据库
- MongoDB配置选项、Shell函数、游标类型、分片等
- IOS开发之相机、相册页面英文问题
- 自定义广告轮播
- SpringMVC 返回Java8 时间JSON数据的格式化问题处理
- 有必要知道的 24 个 JavaScript 面试题
- iBET Malaysia New Year Daily Cashback all +0.1%(Daily Cashback Malaysia, ibet, Live Casino Cashback)
- C# 自定义异常的总结
- Genymotion的安装与使用完整教程(最强安卓虚拟机)
- 【机器学习】Random Forest(随机森林)入门和实战(三)什么时候使用
- tinker接入
- chromium之ContentBrowserClient