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);//設(shè)置ImageSwitcher所需的ViewFactory
is.setImageResource(images[index]);//設(shè)置初始的圖片資源
/*由于本類實現(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,這需要將圖片復(fù)制到res目錄下的drawable目錄下。
3.setFactory()方法告訴系統(tǒng),ImageSwitcher要以什么樣子來顯示內(nèi)容,而setImageSource()則告訴系統(tǒng),要顯示的那些圖片從哪里獲得。
4. makeView()方法是ViewFactory接口定義的方法,該方法返回一個View,而ImageSwitcher就會按照這個View的布局來顯示內(nèi)容。
好了一個簡單的圖片瀏覽器就算完成了!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android開發(fā)實現(xiàn)圖片切換APP
- Android自定義ImageView實現(xiàn)點擊兩張圖片切換效果
- Android使用ViewFlipper實現(xiàn)圖片切換功能
- Android 圖片切換器(dp、sp、px) 的單位轉(zhuǎn)換器
- Android中使用imageviewswitcher 實現(xiàn)圖片切換輪播導(dǎo)航的方法
- Android控件ImageSwitcher實現(xiàn)左右圖片切換功能
- Android自定義ViewPager實現(xiàn)個性化的圖片切換效果
- Android中ViewPager組件的基本用法及實現(xiàn)圖片切換的示例
- Android基于ImageSwitcher實現(xiàn)圖片切換功能
- android實現(xiàn)點擊按鈕控制圖片切換
相關(guān)文章
Android ListView 單條刷新方法實踐及原理解析
這篇文章主要介紹了Android ListView 單條刷新方法實踐及原理解析的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07
Flutter?DateTime獲取本月的開始時間與結(jié)束時間方法
這篇文章主要為大家介紹了Flutter?DateTime獲取本月的開始時間與結(jié)束時間方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2023-05-05
朋友圈實現(xiàn)圖片+文字轉(zhuǎn)發(fā)功能(必看篇)
下面小編就為大家?guī)硪黄笥讶崿F(xiàn)圖片+文字轉(zhuǎn)發(fā)功能(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03

