Android-------使用第三方Banner实现对网络图片的无线轮播
来源:互联网 发布:慈溪行知职高论坛 编辑:程序博客网 时间:2024/05/21 06:31
参考网址:https://github.com/search(很详细)
使用步骤:
1.在build.gradle中加入包,点击右上角的同步:
compile 'com.youth.banner:banner:1.4.9'2.添加权限到你的 AndroidManifest.xm
<uses-permission android:name="android.permission.INTERNET"> </uses-permission> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>3.在布局文件中添加Banner,可以设置自定义属性
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" ><com.youth.banner.Banner android:id="@+id/ban" android:layout_width="match_parent" android:layout_height="250dp"></com.youth.banner.Banner></LinearLayout>4.写一个图片加载器类并继承ImageLoader//定义的一个Bannerde 图片加载器,继承ImageLoaderpublic class BannerImageLoad extends ImageLoader{ //在该方法内用Glide进行加载图片 @Override public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(context).load(path).into(imageView); }}5.在Activity或者Fragment中配置Banner(这里是在一个Fragment中进行配置的)
public class Fragment1 extends Fragment { private Banner ban; private String urlpath="http://zkread.com/htnewsroom/articles/tops"; private Handler hand=new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what==1){ //用Gson解析数据并得到该数据的类 Gson gson=new Gson(); News news = gson.fromJson(msg.obj.toString(), News.class); //得到要展示的图片和标题的类的集合并遍历 List<News.DataBean> data = news.getData(); //新建一个存放图片的集合和标题的集合 ArrayList<String> images=new ArrayList<>(); ArrayList<String> title=new ArrayList<>(); //遍历完后把相应的数据添加到集合中 for (News.DataBean bean:data){ images.add(bean.getImgSrc()); title.add(bean.getTitle()); } //将图片和标题设置到Banner中 ban.setImages(images); ban.setBannerTitles(title); //开启Banner ban.start(); } } }; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment1, container, false); ban=(Banner)view.findViewById(R.id.ban); //设置Banner initview(); //加载网络数据 loaddata(); return view; } private void loaddata() { new Thread(){ @Override public void run() { //HttpUrl为一个写好的通过HttpUrlConnection对网络进行请求的类(里面有get和post请求) String str = HttpUrl.getUrlConnect(urlpath); Message msg=new Message(); msg.what=1; msg.obj=str; hand.sendMessage(msg); } }.start(); } private void initview() { //设置图片加载器 BannerImageLoad bil=new BannerImageLoad(); ban.setImageLoader(bil); //设置显示样式(显示数字指示器和标题) ban.setBannerStyle(BannerConfig.NUM_INDICATOR_TITLE); /*//设置banner样式 banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE); //设置图片加载器 banner.setImageLoader(new GlideImageLoader()); //设置图片集合 banner.setImages(images); //设置banner动画效果 banner.setBannerAnimation(Transformer.DepthPage); //设置标题集合(当banner样式有显示title时) banner.setBannerTitles(titles); //设置自动轮播,默认为true banner.isAutoPlay(true); //设置轮播时间 banner.setDelayTime(1500); //设置指示器位置(当banner模式中有指示器时) banner.setIndicatorGravity(BannerConfig.CENTER);*/ }}
阅读全文
0 0
- Android-------使用第三方Banner实现对网络图片的无线轮播
- Android 无线轮播 Banner 的使用
- 第三方控件Banner实现轮播
- Banner 的使用(网络请求图片无线轮播demo)
- Android 图片轮播Banner的实现
- banner实现广告的无线轮播
- 推荐Android中两个很好用的banner,可无限轮播,可使用第三方图片加载框架加载网络图
- banner实现无线轮播
- Android实现Banner图片循环轮播
- banner(图片轮播)框架的使用
- 用Banner实现无线轮播的实现
- banner 简单的实现无线轮播的控件
- Android开发常用的热门的第三方库(网络请求、banner轮播、tablayout、动画、进度条、视频播放、弹幕等)
- banner实现图片轮播
- Banner实现图片轮播
- Banner实现图片轮播
- Banner实现图片轮播
- Banner实现图片轮播
- linux常用指令大全
- 丑陋的字符串
- bbed之一 ------bbed的编译
- 从零学java笔录-第16篇 循环语句总结&break
- [精华分享][Unity&模型制作&blender]适合独立游戏开发的官方免费3D人物模型软件以及教程合集
- Android-------使用第三方Banner实现对网络图片的无线轮播
- 307. Range Sum Query
- 用maven项目mybatis集成spring+springmvc无刷新实现crud
- 【Linux 环境Vim常用操作与配置文件】
- 如何编译动态库/静态库之编译Qt4.8.5静态库/动态库
- 庆祝61
- MySql通配符过滤,正则表达式过滤.
- PCL PLY转PCD及批量处理
- 区块链开发专题(数字货币自建P2POOL矿池详细教程)