安卓--图片切换(ImageSwitcher)实例

main.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <ImageSwitcher
        android:id="@+id/imageSwitcher"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </ImageSwitcher>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal" >

        <Button
            android:id="@+id/btnPrevious"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:enabled="false"
            android:text="上一张图片" />

        <Button
            android:id="@+id/btnNext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:enabled="true"
            android:text="下一张图片" />
    </LinearLayout>

</LinearLayout>

.java代码如下:

package org.lxh.demo;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.text.method.ScrollingMovementMethod;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.ViewSwitcher.ViewFactory;

public class Hello extends Activity {
	private ImageSwitcher imageSwitcher = null;
	private Button btnPrevious = null;
	private Button btnNext = null;
	private int[] imgRes = new int[] { R.drawable.ispic_a, R.drawable.ispic_b,
			R.drawable.ispic_c, R.drawable.ispic_d, R.drawable.ispic_e, };
	private int foot = 0;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState); // 生命周期方法
		super.setContentView(R.layout.main); // 设置要使用的布局管理器
		this.imageSwitcher = (ImageSwitcher) super
				.findViewById(R.id.imageSwitcher);
		this.btnPrevious = (Button) super.findViewById(R.id.btnPrevious);
		this.btnNext = (Button) super.findViewById(R.id.btnNext);
		this.imageSwitcher.setFactory(new ViewFactoryImpl());
        this.imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
        this.imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
		this.imageSwitcher.setImageResource(imgRes[foot++]);
		this.btnPrevious.setOnClickListener(new OnClickListenerPrevious());
		this.btnNext.setOnClickListener(new OnClickListenerNext());

	}

	private class OnClickListenerPrevious implements OnClickListener {

		public void onClick(View arg0) {
			Hello.this.imageSwitcher.setImageResource(imgRes[foot--]);
			Hello.this.checkButtonEnable();
		}

	}

	private class OnClickListenerNext implements OnClickListener {

		public void onClick(View arg0) {
			Hello.this.imageSwitcher.setImageResource(imgRes[foot++]);
			Hello.this.checkButtonEnable();
		}

	}

	private class ViewFactoryImpl implements ViewFactory {

		public View makeView() {
			ImageView img = new ImageView(Hello.this);
			img.setBackgroundColor(0xFFFFFFFF);
			img.setScaleType(ImageView.ScaleType.CENTER);
			img.setLayoutParams(new ImageSwitcher.LayoutParams(
					LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
			return img;
		}

	}

	private void checkButtonEnable() {
		if (this.foot < this.imgRes.length - 1) {
			this.btnNext.setEnabled(true);
		} else{
			this.btnNext.setEnabled(false);
		}
		if (this.foot == 0) {
			this.btnPrevious.setEnabled(false);
		} else{
			this.btnPrevious.setEnabled(true);
		}
	}

}

效果如下:

源代码下载:http://download.csdn.net/detail/yayun0516/8380329

时间: 2024-10-13 12:17:50

安卓--图片切换(ImageSwitcher)实例的相关文章

javascript基础——图片切换

DEMO1:两张图片来回切换 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>JS点击两张图片来回切换</title> <script> window.onload = function(){ // 获取元素 var oImg = document.getElementById('img1')

图片切换加定时器(图片轮播)

之前写过一个图片切换的实例,当时只是没有加定时器,今天加上定时器,让其自动播放,好的来看代码: css代码: <style> ul { padding:0; margin:0; } li { list-style:none; } .box { width:400px; height:500px; position:relative; float: left;margin-right:60px; background:url(img/loader_ico.gif) no-repeat cente

Android 高级UI设计笔记12:ImageSwitcher图片切换器

1. ImageSwitcher ImageSwitcher是Android中控制图片展示效果的一个控件,如:幻灯片效果...,颇有感觉啊.做相册一绝 2. 重要方法 setImageURI(Uri uri):设置图片地址 setImageResource(int resid):设置图片资源库 setImageDrawable(Drawable drawable):绘制图片 3. 设置动画效果 imageSwitcher.setInAnimation(AnimationUtils.loadAni

图片切换器(ImageSwitcher)的功能与用法

ImageSwitcher继承了ViewSwitcher,因此它具有与ViewSwitcher相同的特征:可以在切换View组件时使用动画效果.ImageSwitcher继承了ViewSwitcher,并重写了ViewSwitcher的showNext().showPrevious()方法,因此ImageSwitcher使用起来更加简单.使用ImageSwitcher只要如下两步即可. 为ImageSwitcher提供一个ViewFactory,该ViewFactory生成的View组件必须是I

自定义属性之图片切换实例——初始化——JS学习笔记2015-5-28(第41天)

思路: 延续上一节说的利用自定义属性来作为桥梁,建立匹配关系,然后改变页面中元素的显示效果: 首先需要写好一个合理的HTML结构   // 何为合理呢?就是说考虑这个结构哪些需要提前写好的,哪些又是可以通过程序来动态实现的 然后写好相应的CSS样式文件,让基本的构造出来: 最后通过JS来控制相关页面元素的显示效果: 实例: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type"

从零开始学android&lt;ImageSwitcher图片切换组件.二十六.&gt;

ImageSwitcher组件的主要功能是完成图片的切换显示,例如用户在进行图片浏览的时候,可以通过按钮点击一张张的切换显示的图片,而且使用ImageSwitcher组件在每次切换的时候也可以为其增加一些动画的效果,此类定义如下: java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.ViewAnimator ? android.wid

从零開始学android&amp;lt;ImageSwitcher图片切换组件.二十六.&amp;gt;

ImageSwitcher组件的主要功能是完毕图片的切换显示,比如用户在进行图片浏览的时候.能够通过button点击一张张的切换显示的图片,并且使用ImageSwitcher组件在每次切换的时候也能够为其添加一些动画的效果,此类定义例如以下: java.lang.Object ? android.view.View ? android.view.ViewGroup ? android.widget.FrameLayout ? android.widget.ViewAnimator ? andro

Android 自学之网格试图(GridView)和图片切换器(ImageSwitcher)功能和用法

网格试图(GridView)用于在界面上按行,列分布的方式来显示多个组件. GridView和ListView有共同的父类:AbsListView,因此GridView和ListView具有一定的相似性.GridView和ListView的主要区别在于:ListView只是一个方向上的分布:而GridView则会在两个方向上分布. 与ListView相似的是,GridView也需要通过Adapter来提供显示数据:可以通过SimpleAdapter来为GridView提供数据,也可以通过开发Ba

ImageSwitcher 图片切换器

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_he