zoukankan      html  css  js  c++  java
  • 解析数据图片自动轮播——圆点

    dot_layout.xml:

    <?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"
        android:orientation="vertical" >
        <View 
            android:id="@+id/dotView"
            android:layout_width="8dp"
            android:layout_height="8dp"
            android:layout_margin="10dp"
            android:background="@drawable/dot_nomal"
            />
    
    </LinearLayout>

    xml:

    <?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"
        android:orientation="vertical" >
        
    <android.support.v4.view.ViewPager
        android:id="@+id/vp"
        android:layout_width="fill_parent"
        android:layout_height="500dp"
        ></android.support.v4.view.ViewPager>
       <LinearLayout 
                android:id="@+id/dotcontaint"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:layout_alignParentBottom="true"
                />
    </LinearLayout>

    homeactiviyt:

    package com.example.lianmginghui20160412;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Timer;
    import java.util.TimerTask;
    
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.client.ClientProtocolException;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.util.EntityUtils;
    
    import com.example.vo2.DataImage;
    import com.example.vo2.Demo;
    import com.example.vo2.Imagevo;
    import com.example.vo3.Data;
    import com.example.vo3.One;
    import com.google.gson.Gson;
    import com.loopj.android.image.SmartImageView;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.support.v4.view.ViewPager.OnPageChangeListener;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    //详情页面
    public class HomeActivity extends Activity{
            private ViewPager vp;
        private  String id;
        private LinearLayout dotcontaint;
        private List<View> view;
         ArrayList<ImageView> imgs ;
            ArrayList<View> dots ;
        private SmartImageView image_page1,image_page2,image_page3;
        private List<One> gallery=new ArrayList<One>();
         int count = 0;
            int olddotindex = 0;
            Handler h = new Handler(){
                public void handleMessage(android.os.Message msg) {
                    vp.setCurrentItem(count);//设置此次要显示的pager
                    //切换选中的圆点
                    dots.get(olddotindex).setBackgroundResource(R.drawable.dot_nomal);//设置上次选中的圆点为不选中
                    dots.get(count).setBackgroundResource(R.drawable.dot_focus);//设置当前选中的圆点为选中
                    olddotindex = count;
                    
                };
            };
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.page);
        vp=(ViewPager) findViewById(R.id.vp);
           dotcontaint = (LinearLayout) findViewById(R.id.dotcontaint);
            Intent it=getIntent();
            //获得穿过来的数据
         id=it.getStringExtra("id");
        
            new Thread(){
                public void run() {
                    init();
                    runOnUiThread( new Runnable() {
                        public void run() {
                            
                            initdata();
                             //获得圆点
                              getDotList();
                              //设置第一个圆点为选中状态
                              dots.get(0).setBackgroundResource(R.drawable.dot_focus);
                              //通过定时器,制作自动划动效果
                              Timer timer = new Timer();
                              timer.schedule(new TimerTask() {
                                  @Override
                                  public void run() {
                                      count++;//下一个页
                                      if(count == gallery.size()){
                                          count = 0;
                                      }
                                      h.sendEmptyMessage(0x123);//在此线程中,不能操作ui主线程
                                  }
                              }, 3000, 2000);
                              
                        }
    
                    });
                    
                    
                }
    
        
                
            }.start();
             
            
    }
    
    private void getDotList() {
        // TODO Auto-generated method stub
          // TODO Auto-generated method stub
        dots = new ArrayList<View>();
        //循环图片数组,创建对应数量的dot
        for(int i=0;i<gallery.size();i++){
            View view = LayoutInflater.from(this).inflate(R.layout.dot_layout, null);//加载布局
            View dot = view.findViewById(R.id.dotView);//得到布局中的dot点组件
            //收集dot
            dots.add(dot);
            //把布局添加到线性布局
            dotcontaint.addView(view);
        }
    }
    
    //添加页面
    private void initdata() {
        // TODO Auto-generated method stub
        view=new ArrayList<View>();
        View view1=LayoutInflater.from(getApplicationContext()).inflate(R.layout.page1, null);
        View view2=LayoutInflater.from(getApplicationContext()).inflate(R.layout.page2, null);
        View view3=LayoutInflater.from(getApplicationContext()).inflate(R.layout.page3, null);
         image_page1=(SmartImageView) view1.findViewById(R.id.image_page1);
        
         image_page2=(SmartImageView) view2.findViewById(R.id.image_page2);
        
         image_page3=(SmartImageView) view3.findViewById(R.id.image_page3);
        
             image_page1.setImageUrl(gallery.get(0).getNormal_url());
             image_page2.setImageUrl(gallery.get(1).getNormal_url());
             image_page3.setImageUrl(gallery.get(2).getNormal_url());
            
        view.add(view1);
        view.add(view2);
        view.add(view3);
    vp.setAdapter(adapter);
    vp.setOnPageChangeListener(new OnPageChangeListener() {
        
        @Override
        public void onPageSelected(int arg0) {
            // TODO Auto-generated method stub
            
        }
        
        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
            // TODO Auto-generated method stub
            
        }
        
        @Override
        public void onPageScrollStateChanged(int arg0) {
            // TODO Auto-generated method stub
            
        }
    });
    }
    //请求数据
    private void init() {
        // TODO Auto-generated method stub
        HttpClient httpClient=new DefaultHttpClient();
        HttpGet httpGet=new HttpGet("http://mobile.hmeili.com/yunifang/mobile/goods/detail?id="+id);
        try {
            HttpResponse httpResponse=httpClient.execute(httpGet);
            int len=httpResponse.getStatusLine().getStatusCode();
            if(len==200){
                HttpEntity httpEntity=httpResponse.getEntity();
                String str=EntityUtils.toString(httpEntity, "utf-8");
                Gson g=new Gson();
                Data de=g.fromJson(str, Data.class);
                gallery=de.getData().getGoods().getGallery();
                Log.i("TAG",gallery.toString());
                
            }
    
            
            
        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    };
    
            PagerAdapter adapter=new PagerAdapter() {
                public Object instantiateItem(android.view.ViewGroup container, int position) {
                    container.addView(view.get(position));
                    return view.get(position);
                    
                };
                @Override
                public boolean isViewFromObject(View arg0, Object arg1) {
                    // TODO Auto-generated method stub
                    return (arg0==arg1);
                }
                
                @Override
                public int getCount() {
                    // TODO Auto-generated method stub
                    return view.size();
                }
                public void destroyItem(android.view.ViewGroup container, int position, Object object) {
                    container.removeView(view.get(position));
                    
                };
            };
    }
    {
        "code": 200,
        "data": {
            "activity": [
                {
                    "description": "http://mobile.hmeili.com/yunifang/web/h/meet.html",
                    "id": "23",
                    "title": "我是面膜专场·全场满159减20"
                },
                {
                    "description": "http://mobile.hmeili.com/yunifang/web/h/11_meet.html",
                    "id": "19",
                    "title": "我是面膜专场·海量赠品任性选"
                },
                {
                    "description": "http://mobile.hmeili.com/yunifang/web/h/shopping_tips.html",
                    "id": "21",
                    "title": "购物须知·客服时间8:30-23:30"
                }
            ],
            "collected": false,
            "commentNumber": 22228,
            "comments": [
                {
                    "content": "物流好快。还没用,不知道效果怎样",
                    "createtime": "2016.04.12 10:30:01",
                    "id": "544832",
                    "user": {
                        "id": "1986232",
                        "nick_name": "ynf_4991"
                    }
                },
                {
                    "content": "好评",
                    "createtime": "2016.04.12 09:58:37",
                    "id": "544754",
                    "user": {
                        "id": "2034244",
                        "nick_name": "ynf_8918"
                    }
                },
                {
                    "content": "好评",
                    "createtime": "2016.04.12 09:00:06",
                    "id": "544691",
                    "user": {
                        "id": "1796331",
                        "nick_name": "ynf_6223"
                    }
                },
                {
                    "content": "好评  非常好",
                    "createtime": "2016.04.12 09:00:01",
                    "id": "544690",
                    "user": {
                        "id": "1796331",
                        "nick_name": "ynf_6223"
                    }
                },
                {
                    "content": "好评",
                    "createtime": "2016.04.12 08:06:44",
                    "id": "544627",
                    "user": {
                        "icon": "http://image.hmeili.com/yunifang/images/user/160407081116614215322129313.jpg",
                        "id": "2034295",
                        "nick_name": "Hai要我怎么aini"
                    }
                },
                {
                    "content": "好评",
                    "createtime": "2016.04.12 07:09:03",
                    "id": "544593",
                    "user": {
                        "id": "2049235",
                        "nick_name": "ynf_5420"
                    }
                },
                {
                    "content": "好评",
                    "createtime": "2016.04.12 00:57:16",
                    "id": "544507",
                    "user": {
                        "id": "1983337",
                        "nick_name": "ynf_9325"
                    }
                },
                {
                    "content": "好评",
                    "createtime": "2016.04.11 23:58:25",
                    "id": "544474",
                    "user": {
                        "id": "1954526",
                        "nick_name": "ynf_8905"
                    }
                },
                {
                    "content": "好评",
                    "createtime": "2016.04.11 23:16:24",
                    "id": "544407",
                    "user": {
                        "id": "611240",
                        "nick_name": "ynf_6252"
                    }
                },
                {
                    "content": "好评!",
                    "createtime": "2016.04.11 22:23:23",
                    "id": "544309",
                    "user": {
                        "icon": "http://image.hmeili.com/yunifang/images/user/16040818412608792942584574.jpg",
                        "id": "2041971",
                        "nick_name": "CHEN晨宝"
                    }
                },
                {
                    "content": "好评",
                    "createtime": "2016.04.11 22:18:24",
                    "id": "544300",
                    "user": {
                        "id": "918431",
                        "nick_name": "ynf_8975"
                    }
                },
                {
                    "content": "好评!",
                    "createtime": "2016.04.11 21:56:10",
                    "id": "544225",
                    "user": {
                        "id": "1003207",
                        "nick_name": "ynf_9377"
                    }
                },
                {
                    "content": "337DK9我发起的三人团,快来团购吧",
                    "createtime": "2016.04.11 21:35:55",
                    "id": "544168",
                    "user": {
                        "id": "2031430",
                        "nick_name": "ynf_9396"
                    }
                },
                {
                    "content": "美白很好用!",
                    "createtime": "2016.04.11 21:32:56",
                    "id": "544161",
                    "user": {
                        "id": "704979",
                        "nick_name": "ynf_0405"
                    }
                },
                {
                    "content": "好评,面膜不错!",
                    "createtime": "2016.04.11 21:02:58",
                    "id": "544085",
                    "user": {
                        "id": "2054084",
                        "nick_name": "ynf_8711"
                    }
                },
                {
                    "content": "好评",
                    "createtime": "2016.04.11 20:30:59",
                    "id": "544011",
                    "user": {
                        "id": "1968925",
                        "nick_name": "ynf_1458"
                    }
                }
            ],
            "goods": {
                "allocated_stock": 2,
                "attributes": [
                    {
                        "attr_name": "上市时间",
                        "attr_value": "2013年",
                        "goods_id": "121",
                        "id": "451"
                    },
                    {
                        "attr_name": "适合肤质",
                        "attr_value": "任何肤质",
                        "goods_id": "121",
                        "id": "453"
                    },
                    {
                        "attr_name": "保质期",
                        "attr_value": "3年",
                        "goods_id": "121",
                        "id": "455"
                    },
                    {
                        "attr_name": "产品功效",
                        "attr_value": "美白 补水嫩肤",
                        "goods_id": "121",
                        "id": "457"
                    },
                    {
                        "attr_name": "产品规格",
                        "attr_value": "7*30ml",
                        "goods_id": "121",
                        "id": "459"
                    }
                ],
                "collect_count": 3720,
                "createuser": "liuhua",
                "desmatch": 0.1,
                "gallery": [
                    {
                        "enable": true,
                        "goods_id": "121",
                        "id": "4184",
                        "normal_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/160407143510672856901452.jpg",
                        "original_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/160407143510672856901452.jpg",
                        "sort": 0,
                        "thumb_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/160407143510672856901452.jpg"
                    },
                    {
                        "enable": true,
                        "goods_id": "121",
                        "id": "1588",
                        "normal_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/15051808258319208010174573.jpg",
                        "original_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/15051808258319208010174573.jpg",
                        "sort": 1,
                        "thumb_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/15051808258319208010174573.jpg"
                    },
                    {
                        "enable": true,
                        "goods_id": "121",
                        "id": "2045",
                        "normal_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/150729144024818405112204244.jpg",
                        "original_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/150729144024818405112204244.jpg",
                        "sort": 2,
                        "thumb_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/150729144024818405112204244.jpg"
                    },
                    {
                        "enable": true,
                        "goods_id": "121",
                        "id": "657",
                        "normal_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/1502141125451.jpg",
                        "original_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/1502141125451.jpg",
                        "sort": 3,
                        "thumb_url": "http://image.hmeili.com/yunifang/images/goods/121/goods_gallery/1502141125451.jpg"
                    }
                ],
                "goods_desc": "[{"url":"http://image.hmeili.com/yunifang/images/goods/ad6/160409000557420149375447894.jpg","width":"790","height":"450"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144037418829021404929.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144037518819786192385.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144052718810550984272.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144050918801315776408.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144065318792080562006.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144068218782845353192.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/16020314404418773610141444.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/16020314404718764374937959.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144018118755139724525.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144015518551965105188.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144029318542729897527.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144035518533494686030.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144039918524259474726.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144046918515024269497.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144050318505789056415.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144057818496553842851.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144064218487318639334.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144070218478083424127.jpg","width":"790","height":"665"},{"url":"http://image.hmeili.com/yunifang/images/goods/121/goods_desc/160203144075518468848216488.jpg","width":"790","height":"336"},{"url":"http://image.hmeili.com/yunifang/images/goods/ad6/151021180064315576603656481.jpg","width":"790","height":"1080"}]",
                "goods_name": "美白嫩肤矿物蚕丝面膜7片",
                "goods_source": "0",
                "id": "121",
                "is_activity_goods": "0",
                "is_coupon_allowed": true,
                "is_gift": 0,
                "is_on_sale": "1",
                "lastupdateuser": "shanxian",
                "market_price": 99.00,
                "quality": 0.1,
                "redeem_goods_restrict_flag": "0",
                "reservable": false,
                "restrict_purchase_num": 0,
                "restriction": 0,
                "sales_volume": 70608,
                "shipping_fee": 0.00,
                "shop_price": 49.90,
                "stock_number": 5187,
                "valueformoney": 0.1
            },
            "reserved": false
        },
        "msg": "success"
    }

    最里面的类:

    package com.example.vo3;
    
    public class One {
            private String normal_url;
    
            public String getNormal_url() {
                return normal_url;
            }
    
            public void setNormal_url(String normal_url) {
                this.normal_url = normal_url;
            }
    
            @Override
            public String toString() {
                return "One [normal_url=" + normal_url + "]";
            }
            
    }

    第二个类:

    package com.example.vo3;
    
    import java.util.List;
    
    public class Gallery {
            private List<One> gallery;
    
            public List<One> getGallery() {
                return gallery;
            }
    
            public void setGallery(List<One> gallery) {
                this.gallery = gallery;
            }
            
    }

    第三个类:

    package com.example.vo3;
    
    public class Gooss {
            private Gallery goods;
    
            public Gallery getGoods() {
                return goods;
            }
    
            public void setGoods(Gallery goods) {
                this.goods = goods;
            }
            
    }

    第四个类:

    package com.example.vo3;
    
    public class Data {
                private Gooss data;
    
                public Gooss getData() {
                    return data;
                }
    
                public void setData(Gooss data) {
                    this.data = data;
                }
                
    }
  • 相关阅读:
    struts debug 标签
    No result defined for action com.lk.IndexAction and result success
    记一次jdk升级引起的 Unsupported major.minor version 51.0
    jar hell & elasticsearch ik 版本问题
    Glide图片加载框架小bug
    环信easeui集成:坑总结2018(二)
    Android项目实战(五十一):浅谈GreenDao
    Android项目实战(五十):微信支付 坑总结
    Android项目实战(四十九):Andoird 7.0+相机适配
    环信easeui集成:坑总结2018
  • 原文地址:https://www.cnblogs.com/123p/p/5382567.html
Copyright © 2011-2022 走看看