android笔记12-viewFlipper

使用viewFlipper来实现屏幕切换动画效果;

为ViewFlipper加入view:
(1)静态导入:在layout布局文件中直接导入;但不灵活;

(2)动态导入:addView()方法;


实现:
(1)实现图片轮播:
 第一步:在xml文件中添加viewFlipper控件;在activity中,初始化viewFlipper对象;
 第二步:(动态导入的方式为viewFlipper加入子view)将资源id写到int[]的数组里;调用viewFlipper的addView方法,addView(ImageView):可以声明getImageView的方法,实现从资源id转化到imageview;
ImageView getImagweView(int resId)
{
  ImageView image = new ImageView(context);
          //context --this;
  imageBackgroundResouce(resId);
  //这种方法可以全屏展示图片,也可以用image.setImageResource(resId);,但这种方法不能将图片全屏展示,只能根据图片的实际的大小来显示;
   
  return image;
}
调用setInAnimation(context,resourceId)来实现进入的动画的效果;resourceId--动画的id;调用setOutAnimation(context,animation)来实现出去的动画效果;setFilpInterval(int time)设置切换的时间;调用startFlipping()来让动画播放;

(2)手势滑动;
 第一步:在activity中添加onTouchEvent()的函数,是支持手势滑动的处理;
onTouchEvent(MotionEvent event)
{
  switch(event.getAction())
  {
     case MotionEvent.ACTION_DOWN:break;
        //表示手指点击到屏幕上;
     case MotionEvent.ACTION_MOVE:break;
        //表示手指滑动;
     case MotionEvent.ACTION_UP:break;
    //表示手指离开;
   }
}
在MainActivity类中声明一个float startX来记录手指落下的坐标,在case MotionEvent.ACTION_DOWN下调用event的成员函数getX()赋值给startX; case MotionEvent.ACTION_MOVE中要判断是向左滑,还是向右滑,event.getX()-startX>100,表示向右滑,而startX-event.getX()>100,表示向左滑;在根据向右向左滑的情况并通过viewFlipper的setInAnimation(...),setOutAnimation(...)来设置向右向左的动画;向右滑的case中,调用成员showPrevious(),表示翻到前一页;向左滑的case中,调用成员showNext(),表示翻到后一页;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值