Android 高级控件学习--ImageSwitcher

Android 高级控件学习--ImageSwitcher


package com.lxt008;

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.LinearLayout;
import android.widget.ViewSwitcher.ViewFactory;

public class Activity01 extends Activity implements OnClickListener,ViewFactory
{
	/* 所有要显示的图片资源索引 */
	private static final Integer[] imagelist = 
	{ 
		R.drawable.img1, 
		R.drawable.img2, 
		R.drawable.img3,
		R.drawable.img4, 
		R.drawable.img5, 
		R.drawable.img6, 
		R.drawable.img7, 
		R.drawable.img8, 
    }; 
	
	//创建ImageSwitcher对象
	private ImageSwitcher			m_Switcher;
	//索引
	private static int				index			= 0;

	//“下一页”按钮ID
	private static final int		BUTTON_DWON_ID	= 0x123456;
	//“上一页”按钮ID
	private static final int		BUTTON_UP_ID	= 0x123457;
	//ImageSwitcher对象的ID
	private static final int		SWITCHER_ID		= 0x123458;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);

		//创建一个线性布局LinearLayout
		LinearLayout main_view = new LinearLayout(this);
		//创建ImageSwitcher对象
		m_Switcher = new ImageSwitcher(this);
		//在线性布局中添加ImageSwitcher视图
		main_view.addView(m_Switcher);
		//设置ImageSwitcher对象的ID
		m_Switcher.setId(SWITCHER_ID);
		//设置ImageSwitcher对象的数据源
		m_Switcher.setFactory(this);
		m_Switcher.setImageResource(imagelist[index]);
		
		//设置显示上面创建的线性布局
		setContentView(main_view);

		//创建“下一张”按钮
		Button next = new Button(this);
		next.setId(BUTTON_DWON_ID);
		next.setText("下一张");
		next.setOnClickListener(this);
		LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(100, 100);
		main_view.addView(next, param);

		//创建“上一张”按钮
		Button pre = new Button(this);
		pre.setId(BUTTON_UP_ID);
		pre.setText("上一张");
		pre.setOnClickListener(this);
		main_view.addView(pre, param);

	}

	//事件监听、处理
	public void onClick(View v)
	{
		switch (v.getId())
		{
			//下一页
			case BUTTON_DWON_ID:
				index++;
				if (index >= imagelist.length)
				{
					index = 0;
				}
				//ImageSwitcher对象资源索引
				m_Switcher.setImageResource(imagelist[index]);
				break;
			//上一页
			case BUTTON_UP_ID:
				index--;
				if (index < 0)
				{
					index = imagelist.length - 1;
				}
				//ImageSwitcher对象资源索引
				m_Switcher.setImageResource(imagelist[index]);
				break;
			default:
				break;
		}
	}


	public View makeView()
	{
		//将所有图片通过ImageView来显示
		return new ImageView(this);
	}
}

一、创建出LinearLayout来动态布局,一共三个控件ImageSwitcher、两个Button,设置好属性及监听器后就addView进LinearLayout。

二、ImageWitcher切换显示是实现接口ViewFactory

m_Switcher.setFactory(this);
m_Switcher.setImageResource(imagelist[index]);

public View makeView()
    {
        //将所有图片通过ImageView来显示
        return new ImageView(this);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值