国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

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

2019-12-12 01:26:45
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例為大家分享了geSwitcher實(shí)現(xiàn)圖片切換效果的具體代碼,供大家參考,具體內(nèi)容如下

從該名字就可以看出來(lái),ImageSwitcher是一個(gè)圖片切換控件,可以在一系列的圖片中,逐張的顯示特定的圖片,利用該控件可以實(shí)現(xiàn)圖片瀏覽器中的上一張,下一張的功能。其使用方法也較 為簡(jiǎn)單,不過(guò)需要注意的是ImageSwitcher在使用的時(shí)候需要一個(gè)ViewFactory,用來(lái)區(qū)分顯示圖片的容器和他的父窗口。

具體的用法直接看實(shí)例,照例,先上效果圖

看看下一張的效果:

布局文件就不多談了直接看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; /*注意,此處直接讓該類(lèi)實(shí)現(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);     /*通過(guò)ID獲取控件*/     is = (ImageSwitcher) findViewById(R.id.image_switchter);     btnPrev = (Button) findViewById(R.id.pre);     btnNext = (Button) findViewById(R.id.next);         is.setFactory(this);//設(shè)置ImageSwitcher所需的ViewFactory     is.setImageResource(images[index]);//設(shè)置初始的圖片資源     /*由于本類(lèi)實(shí)現(xiàn)了OnClickListen而接口,所以這里參數(shù)可以直接用this*/     btnPrev.setOnClickListener(this);     btnNext.setOnClickListener(this);   }   /*因?yàn)閷?shí)現(xiàn)了接口,需要實(shí)現(xiàn)接口中未實(shí)現(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;       }    }    /**     * 該方法返回一個(gè)View的實(shí)例     * 這個(gè)實(shí)例就是要在ImageSwitcher中所顯示的     * 此處就用ImageView來(lái)顯示內(nèi)容     * 所以直接返回一個(gè)新的ImageView的實(shí)例     */    public View makeView() {       return new ImageView(this);    } }        

以上代碼中需要注意的是:

1. 本類(lèi)實(shí)現(xiàn)了兩個(gè)接口,于是在類(lèi)中就要實(shí)現(xiàn)這兩個(gè)接口中的方法,而這樣寫(xiě)的好處在于:
便于重用,之后的代碼中在需要用到這兩個(gè)接口的地方,可以直接用this關(guān)鍵字。

2.images作為一個(gè)整型數(shù)組靜態(tài)常量,里面存放的,是所有圖片的ID,這需要將圖片復(fù)制到res目錄下的drawable目錄下。

3.setFactory()方法告訴系統(tǒng),ImageSwitcher要以什么樣子來(lái)顯示內(nèi)容,而setImageSource()則告訴系統(tǒng),要顯示的那些圖片從哪里獲得。

4. makeView()方法是ViewFactory接口定義的方法,該方法返回一個(gè)View,而ImageSwitcher就會(huì)按照這個(gè)View的布局來(lái)顯示內(nèi)容。

好了一個(gè)簡(jiǎn)單的圖片瀏覽器就算完成了!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 湛江市| 潼南县| 长葛市| 绍兴市| 呼和浩特市| 琼海市| 达尔| 芜湖市| 定襄县| 芷江| 额尔古纳市| 大化| 南安市| 万全县| 新疆| 饶平县| 辽阳县| 泰来县| 嘉兴市| 合肥市| 桐庐县| 宜君县| 墨脱县| 吉林市| 浦江县| 凌云县| 海盐县| 宜春市| 科技| 利辛县| 玛曲县| 革吉县| 英山县| 肇东市| 太保市| 剑河县| 九江县| 梁河县| 灵山县| 金塔县| 清徐县|