zoukankan      html  css  js  c++  java
  • ViewPager的图片轮播

     1 //获得文件
     2                 String se = (String) msg.obj;
     3                 //gson对象
     4                 Gson gson = new Gson();
     5                 //解析json串    因为要解析的json是一个集合所以要用到TypeToken<List<Src>>() {}.getType())的方法
     6                 List<Src> json = gson.fromJson(se, new TypeToken<List<Src>>() {
     7                 }.getType());
     8 
     9                 //准备一个集合接收图片
    10                 final List<View> list = new ArrayList<View>();
    11                 for (int i = 0; i < json.size(); i++) {
    12                     
    13                     ImageView img = new ImageView(MainActivity.this);
    14 
    15                     img.setScaleType(ScaleType.FIT_XY);
    16                     //使用BitmapUtils
    17                     BitmapUtils utils = new BitmapUtils(MainActivity.this);
    18                     //把图片添加到img中去
    19                     utils.display(img, "http://172.17.29.120/localuser/ljy/jc/"
    20                             + json.get(i).getSrc());
    21                     //把所有的img图片添加到集合中去
    22                     list.add(img);
    23                 }
    24                 //创建一个viewpager适配器
    25                 viewpager.setAdapter(new PagerAdapter() {
    26 
    27                     @Override
    28                     public boolean isViewFromObject(View arg0, Object arg1) {
    29                         // TODO Auto-generated method stub
    30                         return arg0 == arg1;
    31                     }
    32 
    33                     @Override
    34                     public int getCount() {
    35                         // TODO Auto-generated method stub
    36                         //集合的长度
    37                         return list.size();
    38                     }
    39 
    40                     public void destroyItem(android.view.ViewGroup container,
    41                             int position, Object object) {
    42                         //移除掉图片
    43                         container.removeView((View) object);
    44                     };
    45 
    46                     public Object instantiateItem(
    47                             android.view.ViewGroup container, int position) {
    48                         //添加图片
    49                         container.addView(list.get(position));
    50                         //返回要添加第几个图片
    51                         return list.get(position);
    52 
    53                     };
    54 
    55                 });
    56 
    57                 // 图片自动循环
    58         Timer timer = new Timer();
    59         timer.schedule(new TimerTask() {
    60 
    61             @Override
    62             public void run() {
    63                 // TODO Auto-generated method stub
    64                 //获取现在展示的是第几个图片的下标并进行加1
    65                 count = viewpager.getCurrentItem() + 1;
    66                 //判断图片是否到了最后一个
    67                 //如果到了最后一个把他的下标该成第一个
    68                 if (count == 5) {
    69                     count = 0;
    70                 }
    71                 //把count返回到主线程中
    72                 hand.sendMessage(hand.obtainMessage(8, count));
    73 
    74             }
    75         }, 2000, 2000);//代表一个图片展示两秒
    76     }
    77 
    78         Handler hand = new Handler() {
    79         public void handleMessage(android.os.Message msg) {
    80             if (msg.what == 8) {
    81                 //在主线程中获取返回的值
    82                 int i = (Integer) msg.obj;
    83                 //根据获取的返回值来设置要显示的是第几个图片
    84                 viewpager.setCurrentItem(i);
    85             }
    86 
    87                             
  • 相关阅读:
    SpringBoot+CXF下Https调用webservice跳过安全证书的配置
    程序员的长安十二时辰:Java实现从Google oauth2.0认证调用谷歌内部api
    springboot集成activiti6.0多数据源的配置
    activiti工作流委托功能的设计和实现
    vue.js带复选框表单的增删改查
    bootstrap-treeview后台Json数据的封装及前台的显示
    你好,Spring!
    超大份线程池,干杯,兄弟!陆
    嗯!这篇多线程不错!伍
    是兄弟!就来看这篇多线程!叁
  • 原文地址:https://www.cnblogs.com/3674-it/p/5143398.html
Copyright © 2011-2022 走看看