ImageSwitcher 和TextView
ImageSwitcher
- ImageSwitcher是Android中控制圖片展示的一個控件擅笔,如幻燈片效果
- ImageSwitcher粗略的理解就是ImageView選擇器
- ImageSwitcher的原理:ImageSwitcher有兩個子View:ImageView怀估,當左右滑動時锯蛀,就在這兩個圖片之間來回切換圖片掌唾。
- 既然有兩個子IamgeView姓迅,那么我們要創(chuàng)建兩個ImageView給ImageSwitcher块蚌。出啊關鍵ImageSwitcher是通過工廠類來實現(xiàn)的:ViewFactory辞嗡。
public class MainActivity extends AppCompatActivity implements ViewSwitcher.ViewFactory,View.OnTouchListener{
private ImageSwitcher imageSwitcher;
private int[] images = {R.mipmap.l,
R.mipmap.h
};
private int index = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageSwitcher = (ImageSwitcher) findViewById(R.id.imageSwitcher);
//需要傳入特們的對象,就是自己本身
imageSwitcher.setFactory(this);
imageSwitcher.setOnTouchListener(this);
}
//初始化列表
@Override
public View makeView() {
ImageView iv = new ImageView(this);
iv.setImageResource(images[0]);
return iv;
}
float startX = 0.0f;
float endX = 0.0f;
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
if(action == MotionEvent.ACTION_DOWN){
startX = event.getX();
}
if(action == MotionEvent.ACTION_UP){
endX = event.getX();
}
//往右移
if(startX - endX>15){ //顯示下一張
index = index+ 1 < images.length?++index:0氓皱;
}else if(endX - startX > 15){ //顯示上一張
index = index - 1 >=0 ? --index:images.length-1;
}
imageSwitcher.setImageResource(images[index]);
return true;
}
}
圖片切換的動畫效果
imageSwitcher.setInAnimation(this,R.anim.fada_in);
imageSwitcher.setInAnimation(this,R.anim.fada_out);
TextViewer
同ImageSwitcher一樣路召,TextView是實現(xiàn)文本的切換勃刨,里面的內(nèi)容是文本