仿优酷Menu菜单动画的Utils

public class AnimationUtils {
    public static int runningAnimationCount=0;//正在执行的动画个数


    /**
     * 旋转出去的动画
     * @param layout 要旋转的布局
     */

    public static void rotateOutAnim(RelativeLayout layout,long delay) {
        //即使level2没出来,点击中间也会弹出level3
        int childCount=layout.getChildCount();
        for (int i=0;i<childCount;i++){
            layout.getChildAt(i).setEnabled(false);
        }

        //开始和结束的角度,相对自己旋转的x长度和y长度
        RotateAnimation ra = new RotateAnimation(
                0f, -180f, RotateAnimation.RELATIVE_TO_SELF, 0.5f, RotateAnimation.RELATIVE_TO_SELF, 1f);
        ra.setDuration(500);
        ra.setFillAfter(true); //设置动画停留在结束位置
        ra.setStartOffset(delay); //设置动画延时
        //动画实现过程中,按钮不能点击,不然会造成闪烁
        ra.setAnimationListener(new MyAnimationListener());
        layout.startAnimation(ra);

    }

    /**
     * 旋转进入的动画
     * @param layout 要旋转的布局
     */
    public static void rotateInAnim(RelativeLayout layout) {
        //即使level2没出来,点击中间也会弹出level3
        int childCount=layout.getChildCount();
        for (int i=0;i<childCount;i++){
            layout.getChildAt(i).setEnabled(true);
        }


        //开始和结束的角度,相对自己旋转的x长度和y长度
        RotateAnimation ra = new RotateAnimation(
                -180f, 0f, RotateAnimation.RELATIVE_TO_SELF, 0.5f, RotateAnimation.RELATIVE_TO_SELF, 1f);
        ra.setDuration(500);
        ra.setFillAfter(true);
        ra.setAnimationListener(new MyAnimationListener());
        layout.startAnimation(ra);
    }


    static class MyAnimationListener implements Animation.AnimationListener{

        @Override
        public void onAnimationStart(Animation animation) {
            runningAnimationCount++;
        }

        @Override
        public void onAnimationEnd(Animation animation) {
            runningAnimationCount--;
        }

        @Override
        public void onAnimationRepeat(Animation animation) {

        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
use it like [[ScrollviewModel sharedInstance] initWithChannels:@[@{@"channelID" : @"channelId_toutiao", @"channelName": @"头条", @"type" : @"normal"}, @{@"channelID" : @"channelId_local", @"channelName": @"北京", @"type" : @"web"}, @{@"channelID" : @"channelId_yule", @"channelName": @"娱乐", @"type" : @"normal"}, @{@"channelID" : @"channelId_junshi", @"channelName": @"军事", @"type" : @"normal"}, @{@"channelID" : @"channelId_video", @"channelName": @"视频", @"type" : @"normal"}, @{@"channelID" : @"channelId_meinv", @"channelName": @"美女", @"type" : @"normal"}, @{@"channelID" : @"channelId_duanzi", @"channelName": @"段子", @"type" : @"web"}, @{@"channelID" : @"channelId_keji", @"channelName": @"科技", @"type" : @"normal"}, @{@"channelID" : @"channelId_fang", @"channelName": @"房产", @"type" : @"normal"}, @{@"channelID" : @"channelId_zhibo", @"channelName": @"直播", @"type" : @"normal"}, ]]; self.topScrollview = [TopScrollview.alloc initWithFrame:CGRectMake(0, 20, self.view.frame.size.width, 41)]; _topScrollview.contentInset = UIEdgeInsetsMake(0, 0, 0, IFScreenFit2s(45.f)); _topScrollview.scrollsToTop = NO; [self.view addSubview:_topScrollview]; _topScrollview.model = [ScrollviewModel sharedInstance]; self.controllerScrollview = [ControllerScrollView.alloc initWithFrame:CGRectMake(0, self.topScrollview.frame.origin.y self.topScrollview.frame.size.height, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)]; [self.view addSubview:_controllerScrollview]; self.controllerScrollview.model = [ScrollviewModel sharedInstance];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值