300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > android viewflipper图片轮播 使用ViewFlipper实现图片轮播

android viewflipper图片轮播 使用ViewFlipper实现图片轮播

时间:2019-12-18 11:23:10

相关推荐

android viewflipper图片轮播 使用ViewFlipper实现图片轮播

public class MainActivity extends AppCompatActivity {

private ViewFlipper flipper;

//背景图片int[] id

private int[] resID = {R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,R.drawable.pic4};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

flipper = (ViewFlipper) findViewById(R.id.flipper);

//动态导入的方式为ViewFlipper加入子View

for(int i = 0; i < resID.length ; i++){

flipper.addView(getimageview(resID[i]));

}

//为ViewFlipper去添加动画效果

flipper.setInAnimation(this,R.anim.right_in);

flipper.setOutAnimation(this,R.anim.right_out);

//切换间隔时间

flipper.setFlipInterval(3000);

//开始播放

flipper.startFlipping();

}

private ImageView getimageview(int resID){

ImageView image = new ImageView(this);

image.setBackgroundResource(resID);

return image;

}

手指滑动

public class MainActivity extends AppCompatActivity {

private ViewFlipper flipper;

//X横坐标

private float startX;

//背景图片int[] id

private int[] resID = {R.drawable.pic1,R.drawable.pic2,R.drawable.pic3,R.drawable.pic4};

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

flipper = (ViewFlipper) findViewById(R.id.flipper);

//动态导入的方式为ViewFlipper加入子View

for(int i = 0; i < resID.length ; i++){

flipper.addView(getimageview(resID[i]));

}

}

private ImageView getimageview(int resID){

ImageView image = new ImageView(this);

image.setBackgroundResource(resID);

return image;

}

//手指滑动

@Override

public boolean onTouchEvent(MotionEvent event) {

switch (event.getAction()){

case MotionEvent.ACTION_DOWN:{

startX = event.getX();

break;

}

case MotionEvent.ACTION_MOVE:{

//向右滑动

break;

}

case MotionEvent.ACTION_UP:{

if(event.getX() - startX > 100){

flipper.setInAnimation(this,R.anim.left_in);

flipper.setOutAnimation(this, R.anim.left_out);

flipper.showPrevious(); //显示前一项

}

//向左滑动

if(startX - event.getX() > 100){

flipper.setInAnimation(this,R.anim.right_in);

flipper.setOutAnimation(this,R.anim.right_out);

flipper.showNext();

}

break;

}

}

return super.onTouchEvent(event);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。