Android UI控件之ImageSwitcher實(shí)現(xiàn)圖片切換效果
本文實(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;
/*注意,此處直接讓該類實(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è)置初始的圖片資源
/*由于本類實(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. 本類實(shí)現(xiàn)了兩個(gè)接口,于是在類中就要實(shí)現(xiàn)這兩個(gè)接口中的方法,而這樣寫的好處在于:
便于重用,之后的代碼中在需要用到這兩個(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í)有所幫助,也希望大家多多支持腳本之家。
- Android開(kāi)發(fā)實(shí)現(xiàn)圖片切換APP
- Android自定義ImageView實(shí)現(xiàn)點(diǎn)擊兩張圖片切換效果
- Android使用ViewFlipper實(shí)現(xiàn)圖片切換功能
- Android 圖片切換器(dp、sp、px) 的單位轉(zhuǎn)換器
- Android中使用imageviewswitcher 實(shí)現(xiàn)圖片切換輪播導(dǎo)航的方法
- Android控件ImageSwitcher實(shí)現(xiàn)左右圖片切換功能
- Android自定義ViewPager實(shí)現(xiàn)個(gè)性化的圖片切換效果
- Android中ViewPager組件的基本用法及實(shí)現(xiàn)圖片切換的示例
- Android基于ImageSwitcher實(shí)現(xiàn)圖片切換功能
- android實(shí)現(xiàn)點(diǎn)擊按鈕控制圖片切換
相關(guān)文章
Android ActionBarActivity設(shè)置全屏無(wú)標(biāo)題的方法總結(jié)
這篇文章主要介紹了Android ActionBarActivity設(shè)置全屏無(wú)標(biāo)題的相關(guān)資料,需要的朋友可以參考下2017-07-07
Android使用GridView實(shí)現(xiàn)表格分割線效果
這篇文章主要為大家詳細(xì)介紹了Android使用GridView實(shí)現(xiàn)表格分割線效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
Android recycleView的應(yīng)用和點(diǎn)擊事件實(shí)例詳解
這篇文章主要介紹了Android recycleView的應(yīng)用和點(diǎn)擊事件實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2016-12-12
Android 根據(jù)EditText搜索框ListView動(dòng)態(tài)顯示數(shù)據(jù)
這篇文章主要介紹了Android 根據(jù)EditText搜索框ListView動(dòng)態(tài)顯示數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2016-09-09
5個(gè)Android開(kāi)發(fā)中比較常見(jiàn)的內(nèi)存泄漏問(wèn)題及解決辦法
本文主要介紹了5個(gè)Android開(kāi)發(fā)中比較常見(jiàn)的內(nèi)存泄漏問(wèn)題及解決辦法,具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02
Android中點(diǎn)擊按鈕啟動(dòng)另一個(gè)Activity及Activity之間傳值問(wèn)題
這篇文章主要介紹了Android中點(diǎn)擊按鈕啟動(dòng)另一個(gè)Activity及Activity之間傳值問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-01-01
Android ListView實(shí)現(xiàn)單選及多選等功能示例
這篇文章主要介紹了Android ListView實(shí)現(xiàn)單選及多選等功能的方法,結(jié)合實(shí)例形式分析了ListView單選、多選及長(zhǎng)按多選等功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-08-08
Android AlertDialog(對(duì)話框)實(shí)例詳解
Android在開(kāi)發(fā)中經(jīng)常會(huì)遇到有彈框的需求,經(jīng)常使用的有Dialog彈框,Window彈框,他們之間最本質(zhì)的區(qū)別是dialog是非阻塞式對(duì)話框,popupwindow是阻塞式對(duì)話框,這篇文章主要給大家介紹了關(guān)于Android AlertDialog(對(duì)話框)的相關(guān)資料,需要的朋友可以參考下2021-11-11

