IT技术教程

IT技术教程

AndroidUI组件之ImageSwitcher

时间:2019.01.26 编辑:凯发K

今天继续AndroidUI组件的讲解(写博客只是为了巩固与继续学习知识----工欲善其事,必先利其器!)

下面是主Activity的源码,里面附含知识点的讲解,在前面的博客里已经说明,简单的知识点我会以代码注释的形式讲解,好了,不废话了:

package com.gc.imageswitcherdemo;
/*
 * 图像切换器(ImageSwitcher)的功能与用法
 * 
 * 1、ImageSwitcher继承了ViewSwitcher,因此它具有与ViewSwitcher相同的特征
 * :可以在切换View组件时使用动画效果。ImageSwitcher继承了ViewSwitcher并重写了
 * ViewSwitcher的showNext()、showPrevious()方法,因此ImageSwitcher使用起来
 * 更加简单。
 *2、 使用ImageSwitcher只要如下两步即可。
 * (1)为ImageSwitcher提供一个ViewFactory,该ViewFactory生成的View组件必须
 * 是ImageView
 * (2)需要切换图片时,只要调用ImageSwitcher的setImageDrawable(Drawable drawable)
 *      setImageResource(int resid)和setImageURI(Uri uri)方法更换图片即可
 * 3、ImageSwitcher与ImageView的功能有点相似,它们都可用于显示图片,区别在于ImageSwitcher
 * 的效果更炫,它可以指定图片切换时的动画效果。  
 */
/**
**@author:Android将军
*/

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.GridView;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.AAAAAAAdapter;
import android.widget.ViewSwitcher.ViewFactory;

public class MainActivity extends Activity {

	int[] imageIds=new int[]{R.drawable.addresslist1,R.drawable.conference2,R.drawable.daiban3
			,R.drawable.email4,R.drawable.file5,R.drawable.infrom6,R.drawable.organization7,R.drawable.publicfile8
			,R.drawable.request9,R.drawable.sign10,R.drawable.task11,R.drawable.work12};
	private ImageSwitcher switcher;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		//创建一个List对象,List对象的元素时Map
		List> listItems=new ArrayList>();
		for(int i=0;i listItem=new HashMap();
			listItem.put("image",imageIds[i]);
			listItems.add(listItem);
		}
		//获取显示图片的ImageSwitcher
		switcher=(ImageSwitcher)findViewById(R.id.switcher);
		//为ImageSwitcher设置图片切换的动画效果
		switcher.setFactory(new ViewFactory() {
			
			@Override
			public View makeView() {
				// 创建ImageView对象
				ImageView imageView=new ImageView(MainActivity.this);
				imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
				imageView.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
				
				return imageView;
			}
		});
		//创建一个AAAAAAAdapter
		AAAAAAAdapter AAAAAAAdapter=new AAAAAAAdapter(this,listItems,R.layout.cell,new String[]{"image"},new int[]{R.id.image1});
		GridView grid=(GridView)findViewById(R.id.grid01);
		//为GridView设置Adapter
		grid.setAdapter(AAAAAAAdapter);
		//添加列表项被选中的AAA
		grid.setOnItemSelectedListener(new OnItemSelectedListener() {

			@Override
			public void onItemSelected(AdapterView parent, View view,
					int position, long id) {
				// TODO Auto-generated method stub
				//显示当前被选中的图片
				switcher.setImageResource(imageIds[position]);
			}

			@Override
			public void onNothingSelected(AdapterView parent) {
				// TODO Auto-generated method stub
				
			}
		});
		//添加列表项被单击的AAA
		grid.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView parent, View view,
					int position, long id) {
				//显示当前被选中的图片
				switcher.setImageResource(imageIds[position]);
				
			}
		});
		
	}

	

}
下面来看一下
activity_main.xml

     
     

   
   



效果 截图:

转载请注明出处:http://blog.csdn.net/android_jiangjun/article/details/25594669

http://www.bkjia.com/Androidjc/769860.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/769860.htmlTechArticle今天继续AndroidUI组件的讲解(写博客只是为了巩固与继续学习知识----工欲善其事,必先利其器!) 下面是主Activity的源码,里面附含知识点...

本文源自: 环亚AG娱乐

上一篇:Android文件操作工具类 下一篇:没有了