Android中实现自动轮播的框架(Banner)的介绍以及使用
2017-10-18 18:25
507 查看
Banner是一个框架,此框架是用于实现在Android中,ViewPager的图片无限轮播功能。
在使用Banner框架时我们需要添加它的远程依赖:compile 'com.youth.banner:banner:1.4.9' //最新版本,即可使用。
Xml代码:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.bannerdemo.MainActivity"> <com.youth.banner.Banner android:id="@+id/banner" android:layout_width="wrap_content" android:layout_height="wrap_content"></com.youth.banner.Banner> </LinearLayout>
MainActivity代码:
package com.example.bannerdemo;import android.os.AsyncTask;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.Toast;import com.google.gson.Gson;import com.youth.banner.Banner;import com.youth.banner.listener.OnBannerListener;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {// 图片网址private String url = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";private Banner banner;// 此集合用于封装图片路径private ArrayList<String> list = new ArrayList<>();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//初始化Banner控件banner = (Banner) findViewById(R.id.banner);// 此方法用于获取网络资源,并设置给Banner实现图片自动轮播initdata();//Banner的图片点击事件banner.setOnBannerListener(new OnBannerListener() {@Overridepublic void OnBannerClick(int position) {Toast.makeText(MainActivity.this, "您正在点击图片" + position, Toast.LENGTH_SHORT).show();}});}// 此方法用于获取网络资源,并设置给Banner实现图片自动轮播private void initdata() {//传入图片网址获取网络资源,并设置给Banner实现图片自动轮播new MAsynctask().execute(url);}//异步加载newsjson数据class MAsynctask extends AsyncTask<String, Void, String> {@Overrideprotected String doInBackground(String... strings) {//返回获取到的Json数据return MyTools.getJson(strings[0]);}@Overrideprotected void onPostExecute(String s) {super.onPostExecute(s);//获取Json数据,并进行解析Gson gson = new Gson();Bean bean = gson.fromJson(s, Bean.class);//得到集合List<Bean.DataBean> data = bean.getData();// for循环,得到集合每一个对象中的图片路径,封装进集合for (int i =aed10; i < data.size(); i++) {// 图片路径封装进集合list.add(data.get(i).getPic_url());}//为Banner设置参数(LmageLoader对象)banner.setImageLoader(new MyImageLoader());//为Banner设置实现轮播的图片路径的集合banner.setImages(list);//开启轮播banner.start();}@Overrideprotected void onProgressUpdate(Void... values) {super.onProgressUpdate(values);}}}
图片加载类代码:
package com.example.bannerdemo;import android.content.Context;import android.widget.ImageView;import com.youth.banner.loader.ImageLoader;/*** author:Created by WangZhiQiang on 2017/10/18.*/public class MyImageLoader extends ImageLoader {//此方法用于为Viewpager上展示ImagerView(图片)的控件设置图片@Overridepublic void displayImage(Context context, Object path, ImageView imageView) {//得到ImageLoader的实例com.nostra13.universalimageloader.core.ImageLoader instance = com.nostra13.universalimageloader.core.ImageLoader.getInstance();//通过ImageLoader设置图片instance.displayImage((String) path, imageView);}}
相关文章推荐
- 自动轮播的框架(Banner)的介绍以及使用
- Android中ConvenientBanner的使用--获取网络图片 --(实现效果是自动轮播图片)
- Android中ConvenientBanner的使用--获取本地图片 --(实现效果是自动轮播图片)
- 从零开始,搭建博客系统MVC5+EF6搭建框架(4)上,前后台页面布局页面实现,介绍使用的UI框架以及JS组件
- Android中使用开源框架android-image-indicator实现图片轮播部署
- Android中使用开源框架android-image-indicator实现图片轮播部署
- android快速开发框架--快速实现 页面 加载中 加载失败 无数据等状态以及下拉刷新和自动加载
- 推荐Android中两个很好用的banner,可无限轮播,可使用第三方图片加载框架加载网络图
- ANDROID中使用开源框架ANDROID-IMAGE-INDICATOR实现图片轮播部署
- Android-------使用第三方Banner实现对网络图片的无线轮播
- android学习笔记---57_采用方向传感器实现指南针,android设备传感器介绍,以及使用方法
- XBanner的使用实现无限自动轮播图
- Android使用ViewPager实现图片轮播(高度自适应,左右循环,自动轮播)
- Banner框架的简单使用(实现轮播图)
- Android框架之路——Banner实现轮播图(RecyclerView添加Header)
- Android客户端之“微服私访”App的系统学习(五)使用Picasso实现轮播图以及使用自定义View实现个人中心页面
- Android广告条效果--使用Volley实现网络图片的自动轮播(仿淘宝、网易广告页轮播效果)
- 【React Native 安卓开发】----侧边栏的实现DrawerLayoutAndroid以及第三方框架react-native-side-menu的使用【第六篇】
- ViewFlipper的使用---自动播放(轮播图)的实现以及多个view进行切换
- Android框架_Banner实现轮播图Demo——超简单