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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Android開發(fā)實現(xiàn)圖片切換APP
- Android自定義ImageView實現(xiàn)點擊兩張圖片切換效果
- Android使用ViewFlipper實現(xiàn)圖片切換功能
- Android 圖片切換器(dp、sp、px) 的單位轉(zhuǎn)換器
- Android中使用imageviewswitcher 實現(xiàn)圖片切換輪播導航的方法
- Android控件ImageSwitcher實現(xiàn)左右圖片切換功能
- Android自定義ViewPager實現(xiàn)個性化的圖片切換效果
- Android中ViewPager組件的基本用法及實現(xiàn)圖片切換的示例
- Android基于ImageSwitcher實現(xiàn)圖片切換功能
- android實現(xiàn)點擊按鈕控制圖片切換
相關文章
Android ListView 單條刷新方法實踐及原理解析
這篇文章主要介紹了Android ListView 單條刷新方法實踐及原理解析的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-07-07Flutter?DateTime獲取本月的開始時間與結(jié)束時間方法
這篇文章主要為大家介紹了Flutter?DateTime獲取本月的開始時間與結(jié)束時間方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪2023-05-05朋友圈實現(xiàn)圖片+文字轉(zhuǎn)發(fā)功能(必看篇)
下面小編就為大家?guī)硪黄笥讶崿F(xiàn)圖片+文字轉(zhuǎn)發(fā)功能(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03