1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| private void setAnimation(SimpleMarqueeView marqueeView, int scrollDirection, int animSpeed, int width, int heigh) { switch (scrollDirection) { case 1://上 setBottomToTop(marqueeView, animSpeed, heigh); break; case 2://下 setTopToBottom(marqueeView, animSpeed, heigh); break; case 3://左 setRightToLeftAnim(marqueeView, animSpeed, width); break; case 4://右 setLeftToRoght(marqueeView, animSpeed, width); break; default://左 setRightToLeftAnim(marqueeView, animSpeed, width); break; } }
//从下到上 private void setBottomToTop(SimpleMarqueeView marqueeView, int animSpeed, int heigth) { AlphaAnimation alphaAnim = new AlphaAnimation(0f, 1f); TranslateAnimation translateAnim = new TranslateAnimation(0, 0f, heigth, 0); AnimationSet in_bottom = new AnimationSet(true); in_bottom.addAnimation(alphaAnim); in_bottom.addAnimation(translateAnim); in_bottom.setDuration(animSpeed);
AlphaAnimation alphaAnim1 = new AlphaAnimation(1, 0f); TranslateAnimation translateAnim1 = new TranslateAnimation(0f, 0, 0, -heigth); AnimationSet out_top = new AnimationSet(true); out_top.addAnimation(alphaAnim1); out_top.addAnimation(translateAnim1); out_top.setDuration(animSpeed); marqueeView.setInAndOutAnim(in_bottom, out_top); } //从上到下 private void setTopToBottom(SimpleMarqueeView marqueeView, int animSpeed, int heigth) { AlphaAnimation alphaAnim = new AlphaAnimation(0f, 1f); TranslateAnimation translateAnim = new TranslateAnimation(0, 0f, -heigth, 0); AnimationSet in_bottom = new AnimationSet(true); in_bottom.addAnimation(alphaAnim); in_bottom.addAnimation(translateAnim); in_bottom.setDuration(animSpeed);
AlphaAnimation alphaAnim1 = new AlphaAnimation(1, 0f); TranslateAnimation translateAnim1 = new TranslateAnimation(0f, 0, 0,heigth); AnimationSet out_top = new AnimationSet(true); out_top.addAnimation(alphaAnim1); out_top.addAnimation(translateAnim1); out_top.setDuration(animSpeed); marqueeView.setInAndOutAnim(in_bottom, out_top); } //从右到左 private void setRightToLeftAnim(SimpleMarqueeView marqueeView, int animSpeed, int width) { TranslateAnimation translateAnim = new TranslateAnimation(width, 0f, 0, 0); AnimationSet in_right = new AnimationSet(true); in_right.addAnimation(translateAnim); in_right.setDuration(animSpeed);
TranslateAnimation translateAnim1 = new TranslateAnimation(0f, -width, 0, 0); AnimationSet out_left = new AnimationSet(true); out_left.setDuration(animSpeed); out_left.addAnimation(translateAnim1); marqueeView.setInAndOutAnim(in_right, out_left); } //从左到右 private void setLeftToRoght(SimpleMarqueeView marqueeView, int animSpeed, int width) { TranslateAnimation translateAnim = new TranslateAnimation(-width, 0, 0, 0); AnimationSet in_right = new AnimationSet(true); in_right.addAnimation(translateAnim); in_right.setDuration(animSpeed);
TranslateAnimation translateAnim1 = new TranslateAnimation(0, width, 0, 0); AnimationSet out_left = new AnimationSet(true); out_left.setDuration(animSpeed); out_left.addAnimation(translateAnim1); marqueeView.setInAndOutAnim(in_right, out_left); }
|