本文實例為大家分享了geSwitcher實現(xiàn)圖片切換效果的具體代碼,供大家參考,具體內(nèi)容如下
從該名字就可以看出來,ImageSwitcher是一個圖片切換控件,可以在一系列的圖片中,逐張的顯示特定的圖片,利用該控件可以實現(xiàn)圖片瀏覽器中的上一張,下一張的功能。其使用方法也較 為簡單,不過需要注意的是ImageSwitcher在使用的時候需要一個ViewFactory,用來區(qū)分顯示圖片的容器和他的父窗口。
具體的用法直接看實例,照例,先上效果圖

看看下一張的效果:


布局文件就不多談了直接看MainActivity代碼部分吧:
package com.kiritor.ui_imageswitcher; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageSwitcher; import android.widget.ImageView; import android.widget.ViewSwitcher.ViewFactory; /*注意,此處直接讓該類實現(xiàn)ViewFactory和OnClickListener接口*/ public class MainActivity extends Activity implements ViewFactory, OnClickListener { /*獲取圖片資源集*/ private static final Integer[] images = { R.drawable.first, R.drawable.second, R.drawable.third, }; private ImageSwitcher is; private Button btnPrev,btnNext; private static int index = 0; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /*通過ID獲取控件*/ is = (ImageSwitcher) findViewById(R.id.image_switchter); btnPrev = (Button) findViewById(R.id.pre); btnNext = (Button) findViewById(R.id.next); is.setFactory(this);//設置ImageSwitcher所需的ViewFactory is.setImageResource(images[index]);//設置初始的圖片資源 /*由于本類實現(xiàn)了OnClickListen而接口,所以這里參數(shù)可以直接用this*/ btnPrev.setOnClickListener(this); btnNext.setOnClickListener(this); } /*因為實現(xiàn)了接口,需要實現(xiàn)接口中未實現(xiàn)的方法*/ public void onClick(View v) { switch(v.getId()){ case R.id.next: index++; if(index>=images.length){ index = 0; } is.setImageResource(images[index]); break; case R.id.pre: index--; if(index<0){ index = images.length - 1; } is.setImageResource(images[index]); break; default: break; } } /** * 該方法返回一個View的實例 * 這個實例就是要在ImageSwitcher中所顯示的 * 此處就用ImageView來顯示內(nèi)容 * 所以直接返回一個新的ImageView的實例 */ public View makeView() { return new ImageView(this); } } 以上代碼中需要注意的是:
1. 本類實現(xiàn)了兩個接口,于是在類中就要實現(xiàn)這兩個接口中的方法,而這樣寫的好處在于:
便于重用,之后的代碼中在需要用到這兩個接口的地方,可以直接用this關(guān)鍵字。
2.images作為一個整型數(shù)組靜態(tài)常量,里面存放的,是所有圖片的ID,這需要將圖片復制到res目錄下的drawable目錄下。
3.setFactory()方法告訴系統(tǒng),ImageSwitcher要以什么樣子來顯示內(nèi)容,而setImageSource()則告訴系統(tǒng),要顯示的那些圖片從哪里獲得。
4. makeView()方法是ViewFactory接口定義的方法,該方法返回一個View,而ImageSwitcher就會按照這個View的布局來顯示內(nèi)容。
好了一個簡單的圖片瀏覽器就算完成了!
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網(wǎng)。
新聞熱點
疑難解答
圖片精選