使用ViewFlipper实现图片轮播
2024-09-12 07:58:26
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);
}
最新文章
- mysql在空闲8小时之后会断开连接(默认情况)
- Oracle入门
- SQL Server 2008 R2——使用计算列为表创建自定义的自增列
- java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter
- 自定义分词器Analyzer
- poj1266Cover an Arc(三角形外接圆)
- iOS开发——UI篇Swift篇&;UISegmentedControl
- html form一点基础知识,实现文件上传
- 对DNSPOD添加域名解析的一些见解
- iOS设置状态栏样式
- LINUX:alias命令详解
- cryptojs的使用
- Android串口通讯
- windows server 远程桌面连接问题。
- runTime动态给类添加属性
- 在ubuntu的bash中循环执行脚本,并在内存不足时重启
- 程序配置的原则和实践以及 Spring Boot 支持方式
- Chrome插件开发,美化网页上的文件列表。chrome-extension,background
- SQL性能优化-order by语句的优化
- 七、.net core下配置、数据库访问等操作实现