public class MainActivity extends AppCompatActivity { private Data mData; private Banner mBanner; private ListView mListView; private List<Data.DataBean> list; private List<String> listimag; private List<String> listtitle; private String urlPath="http://zkread.com/htnewsroom/articles/tops"; Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); list = new ArrayList<>(); listimag = new ArrayList<>(); listtitle = new ArrayList<>(); mData = new Gson().fromJson(msg.obj.toString(),Data.class); list.addAll(mData.getData()); for (Data.DataBean bean:list){ listimag.add(bean.getImgSrc()); listtitle.add(bean.getTitle()); } mBanner .setImageLoader(new MyLoader()); //设置图片集合 mBanner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE); mBanner.setImages(listimag); mBanner.setBannerTitles(listtitle); //设置自动轮播,默认为true mBanner.isAutoPlay(true); //设置轮播时间 mBanner.setDelayTime(1500); //设置指示器位置(当banner模式中有指示器时) mBanner.setIndicatorGravity(BannerConfig.CENTER); //banner设置方法全部调用完毕时最后调用 mBanner.start(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mBanner = (Banner) findViewById(R.id.banner); yaya(); } private void yaya() { new Thread() { @Override public void run() { super.run(); String result = Utils.parmrs(urlPath); Message msg = new Message(); msg.obj = result; mHandler.sendMessage(msg); } }.start(); }}public class MyLoader extends ImageLoader { public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(context).load((String) path).into(imageView); //传入路径,因为list为String格式,path为Object格式,所以强制类型转换. } }
Banner无限轮播
最新推荐文章于 2022-07-29 16:13:59 发布
本文介绍了一种在安卓应用中实现轮播图的方法,通过使用Banner库并结合Gson进行JSON数据解析,实现了从远程服务器获取数据并展示轮播图的功能。该方案包括了图片加载、自动轮播及轮播时间间隔等关键特性。
2015

被折叠的 条评论
为什么被折叠?



