Android 控件之ImageViewSwitcher图片切换控件
主要实现图片切换功能。
1.首先写好布局,添加ImageViewaSwitcher控件和两个按钮,分别设置为上一张和下一张
2.在MainActivity修改为继承至OnclickListener和ViewFactory
下面贴出相应代码
package com.example.android_imageviewswitcher;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.Menu;
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 MainActivity extends Activity implements OnClickListener,
ViewFactory {
private ImageSwitcher imageSwitcher;
private Button button1, button2;
private int index = 1;// 用于浏览图片的顺序
private List<Drawable> list = new ArrayList<Drawable>();// 存放图片信息
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageSwitcher = (ImageSwitcher) this.findViewById(R.id.imageSwitcher1);
button1 = (Button) this.findViewById(R.id.last);
button2 = (Button) this.findViewById(R.id.next);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
// 往list中装载图片信息
imageSwitcher.setFactory(this);
list.add(getResources().getDrawable(R.drawable.qq));
list.add(getResources().getDrawable(R.drawable.wexin));
list.add(getResources().getDrawable(R.drawable.weibo));
if (list.size() > 0) {
imageSwitcher.setImageDrawable(list.get(0));
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public View makeView() {
// TODO Auto-generated method stub
return new ImageView(MainActivity.this) ;
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.last:
index--;
if (index < 0) {
index = list.size() - 1;
}
break;
case R.id.next:
index++;
if (index >= list.size()) {
index = 0;
}
break;
}
imageSwitcher.setImageDrawable(list.get(index));
}
}
将图片放在相应资源文件下
效果如图: