1. 程式人生 > >ViewPager載入網路圖片

ViewPager載入網路圖片

  private int [] imageId ={R.drawable.a1,R.drawable.a2,R.drawable.a3,
            R.drawable.a4,R.drawable.a5};
    private String [] images={"http://l2.51fanli.net//tuan//images//1//5806eac956808.jpg",
            "http://l2.51fanli.net//tuan//images//b//580991bb30560.jpg",
            "http://l0.51fanli.net//tuan//images//b//58115f2593dc3.jpg",
            "http://l2.51fanli.net//tuan//images//0//57923840b054d.jpg",
            "http://l2.51fanli.net//tuan//images//e//58101e11ab164.jpg"};
    private ImageView [] points;
    private ViewPager mViewPager;
    private ImagesAdapter mAdapter;
    private int indexPoint = 0;
    private Handler mHandler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            mViewPager.setCurrentItem(indexPoint);
            indexPoint++;
            indexPoint=indexPoint%images.length;
            send();
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        initView();
        points=new ImageView[5];
        points[0]=(ImageView)findViewById(R.id.point1);
        points[1]=(ImageView)findViewById(R.id.point2);
        points[2]=(ImageView)findViewById(R.id.point3);
        points[3]=(ImageView)findViewById(R.id.point4);
        points[4]=(ImageView)findViewById(R.id.point5);
        for(ImageView image:points){
            image.setOnClickListener(this);
        }
        updatePoint(indexPoint);
        send();
    }


    private void updatePoint(int position) {
        //先把所有點初始化原來的樣式
        for(ImageView image:points){
            image.setImageResource(R.drawable.nor);
        }
        points[position].setImageResource(R.drawable.sel);
    }

    @Override
    public void onClick(View v) {
        mHandler.removeCallbacksAndMessages(null);
        int index =Integer.valueOf( v.getTag().toString());
        mViewPager.setCurrentItem(index,false);
        indexPoint=index+1;
        send();
    }

    public void send(){
        new Thread(){
            @Override
            public void run() {
                mHandler.sendEmptyMessageDelayed(indexPoint,2000);
            }
        }.start();
    }


    private void initView() {
        mViewPager=(ViewPager)findViewById(R.id.viewpager);
        mAdapter=new ImagesAdapter();
        mViewPager.setAdapter(mAdapter);
        mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {
                updatePoint(position);
            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
    }

    class ImagesAdapter extends PagerAdapter{

        @Override
        public int getCount() {
            return images.length;
        }

        @Override
        public boolean isViewFromObject(View view, Object object) {
            return view==object;
        }

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            ImageView imageView=new ImageView(MainActivity.this);
//            imageView.setImageResource(imageIds[position]);
            Glide.with(MainActivity.this)
                    .load(images[position])
                    .placeholder(R.drawable.nor)
                    .into(imageView);
            container.addView(imageView);
            return imageView;
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            container.removeView((View) object);
        }
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        mHandler.removeCallbacksAndMessages(null);
    }

相關推薦

ViewPager載入網路圖片

private int [] imageId ={R.drawable.a1,R.drawable.a2,R.drawable.a3, R.drawable.a4,R.drawable.a5}; private String [] images={"http://l2.51

ViewPager+動態載入網路圖片

前言:昨晚上師傅讓我寫了發給一個人的,因為我很閒,於是就寫了,網上我看到好多例子,涉及到好多類,看的頭疼還不如自己寫,一個類搞定,如下:(PS:防止以後忘記)xml裡面就一個ViewPager控制元件,沒啦,哈哈^_^. package com.yalan

canvas 載入網路圖片遇到的問題

<canvas id="canvas" width="800" height="500">抱歉,您的瀏覽器不支援canvas元素</canvas> 之前是這樣寫的 var img = new Image();//表示嵌入一個影象物件例項 img.src = thi

Unity載入網路圖片並顯示在UGUI上,解決載入網路圖片出現問號的問題及其案例分析,例項Demo親測可用

Unity載入網路圖片並顯示在UGUI上,解決載入網路圖片出現問號的問題及其案例分析,例項Demo親測可用 最近自己在載入網路圖片的時候也遇到了載入的圖片無法顯示或者是問號的問題。下面就分析下為什麼會出現這樣的情況。   首先我們直接上程式碼(比較簡單) using U

Android之Volley框架載入網路圖片

更多幹貨 分散式實戰(乾貨) spring cloud 實戰(乾貨) mybatis 實戰(乾貨) spring boot 實戰(乾貨) React 入門實戰(乾貨) 構建中小型網際網路企業架構(乾貨) python 學習持續更

C++ QT 載入網路圖片、本地圖片

原始碼下載:C++_QT 載入圖片 QTShowImage.cpp #include "QtShowImage.h" #include <QMovie> #include <QNetworkAccessManager> #include <QUrl> #i

QQ 玩一玩獲取使用者影象暱稱以及CocosCreator動態載入網路圖片

文章目錄 1、CocosCreator 載入圖片的幾種方式 2、QQ 玩一玩通過openId獲取使用者影象、暱稱 QQ 玩一玩獲取使用者影象、暱稱以及CocosC

微信小程式cavans.drawImage方法無法載入網路圖片

微信小程式cavans.drawImage方法無法載入網路圖片 canvas.drawImage(圖片地址, 起始x座標, 起始y座標, 圖片高, 圖片寬)  圖片地址src不能為網路地址:http://www.域名.com/專案/123.jpg  如果

android-Picasso請求https載入網路圖片不能顯示的解決方案

Picasso載入https的圖片載入不出來的解決方案 最近專案中有需求–要顯示https連結的圖片,但是配置好路徑後原生的Picasso死活沒法加載出圖片,最後在網上找到了如下的解決辦法 確認依賴 compile 'com.squareup.ok

需要載入網路圖片的時候我們在adapter繫結資料裡面解析等到圖片的url

public void BindData(UserBean.DataBean date){ title.setText(date.getTitle()); data.setText(date.getPrice()+""); String R = ""; i

使用AsyncTask非同步更新UI介面(載入網路圖片

寫這個部落格時抽抽了,順便又用了一些WebView的東西,更多webview參見這裡 1.簡單介紹下AsyncTask AsyncTask,是android提供的輕量級的非同步類,可以直接繼承AsyncTask,在類中實現非同步操作,並提供介面反饋當前非同步執行的程度(可以

使用ImageLoader載入網路圖片時,如何獲取載入進度,如何設定進度條

使用ImageLoader載入網路圖片的時候,我們有可能會需要顯示一個進度條,這個其實非常容易實現,只需要呼叫這個方法進行設定即可: 注意:首先需要在佈局檔案中新增一個進度條,然後給這個進度條設定進度

iOS 非同步載入網路圖片,獲取圖片真實尺寸

專案需求: 在網路上載入一組圖片的資料,並且這組圖片要按照比例展示出來 做法分析: (1)首頁介面上要是使用的圖片控制元件的建立,這裡的高度是用設定的高度,這部分需要在主執行緒完成; (2)第二部部分是獲取圖片的實際尺寸,這部分線上程中完成; (3)然後需要在主執行緒重新整

瀏覽器載入網路圖片

一.activity_main.xml佈局檔案 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andro

iOS NSThread 多執行緒載入網路圖片

.m 定義圖片連結 // 圖片連結 #define KURL @"https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1497938913914&am

IOS開發之非同步載入網路圖片並快取本地實現瀑布流(一)

</pre><pre name="code" class="objc"></pre><pre name="code" class="objc">在前面的一篇部落格中,我寫了一個瀑布流照片牆的程式,由於之前的程式載入的圖片是本

SDWebImage 載入網路圖片不能顯示

iOS9讓所有的HTTP預設使用了HTTPS,原來的HTTP協議傳輸都改成TLS1.2協議進行傳輸。直接造成的情況就是App發請求的時候彈出網路無法連線。解決辦法就是在專案的info.plist 檔案里加上如下節點: 在info.plist檔案中加入此節點就可以加載

Android批量圖片載入經典系列——使用xutil框架快取、非同步載入網路圖片

一、問題描述   為提高圖片載入的效率,需要對圖片的採用快取和非同步載入策略,編碼相對比較複雜,實際上有一些優秀的框架提供瞭解決方案,比如近期在git上比較活躍的xutil框架   Xutil框架提供了四大模組: 1、  DbUtil模組:採用ORM機制簡化Sqlite操作,

Android批量圖片載入經典系列——採用二級快取、非同步載入網路圖片

public class AsyncImageLoader{ private MemoryCache mMemoryCache;//記憶體快取 private FileCache mFileCache;//檔案快取 private ExecutorService mExecu

React-Native載入網路圖片的問題

RN還需要管載入圖片嗎?facebook已經實現啦快取圖片, 如果你用多點圖片測試下,就會發現並不是如此。 listview中facebook封裝的不錯,記憶體消耗一隻是平穩的,listView顯