欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android UI控件之ImageSwitcher實現(xiàn)圖片切換效果

 更新時間:2017年12月19日 10:40:07   作者:LCore  
這篇文章主要為大家詳細介紹了Android UI控件之ImageSwitcher實現(xiàn)圖片切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了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關鍵字。

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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論