照片切换控件imageSwitcher实现照片上一张、下一张的切换,使用时要实现ViewFactory接口,从而将显示的图片和父窗口区分开,可以在makeView方法中定义图片显示的方式。
代码:
package com.helen;
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;
public class StudyBook extends Activity implements ViewFactory{
ImageSwitcher is;
Button btnPre;
Button btnNext;
//图片数组
private static final int[] imglist ={
R.drawable.h001,
R.drawable.h002,
R.drawable.h003,
R.drawable.h004
};
//图片索引
private static int index=0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); // 设置布局
is = (ImageSwitcher)findViewById(R.id.is);
btnPre = (Button)findViewById(R.id.btnPre);
btnNext = (Button)findViewById(R.id.btnNext);
//设置数据源,将显示的图片和父窗口区分开
is.setFactory(this);
//初始显示第一张图片
is.setImageResource(imglist[index]);
//按钮事件
btnPre.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
index--;
if(index<0) //索引小于0时,显示最后一张图片
index=imglist.length-1;
is.setImageResource(imglist[index]);
}
});
btnNext.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
index++;
if(index>=imglist.length) //索引最后一张图片,显示第一张图片
index=0;
is.setImageResource(imglist[index]);
}
});
}
@Override
public View makeView() {
//所有图片通过imageView来显示
return new ImageView(this);
}
}
实现效果:
[img]http://dl.iteye.com/upload/attachment/451208/861a1eeb-9c43-3e95-b4cd-73437bc77038.png[/img]
代码:
package com.helen;
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;
public class StudyBook extends Activity implements ViewFactory{
ImageSwitcher is;
Button btnPre;
Button btnNext;
//图片数组
private static final int[] imglist ={
R.drawable.h001,
R.drawable.h002,
R.drawable.h003,
R.drawable.h004
};
//图片索引
private static int index=0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); // 设置布局
is = (ImageSwitcher)findViewById(R.id.is);
btnPre = (Button)findViewById(R.id.btnPre);
btnNext = (Button)findViewById(R.id.btnNext);
//设置数据源,将显示的图片和父窗口区分开
is.setFactory(this);
//初始显示第一张图片
is.setImageResource(imglist[index]);
//按钮事件
btnPre.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
index--;
if(index<0) //索引小于0时,显示最后一张图片
index=imglist.length-1;
is.setImageResource(imglist[index]);
}
});
btnNext.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
index++;
if(index>=imglist.length) //索引最后一张图片,显示第一张图片
index=0;
is.setImageResource(imglist[index]);
}
});
}
@Override
public View makeView() {
//所有图片通过imageView来显示
return new ImageView(this);
}
}
实现效果:
[img]http://dl.iteye.com/upload/attachment/451208/861a1eeb-9c43-3e95-b4cd-73437bc77038.png[/img]