zoukankan      html  css  js  c++  java
  • 一个发散动画的菜单控件(主要记录控件x,y坐标的运动状况)

     private void showCloseAnim() {
            int size = viewList.size();
            if (size % 2 == 0) {
                //是偶数
                for (int i = 0; i < size; i++) {
                    if (i < size / 2) {
                        //坐标轴下边
                        AnimatorSet set = new AnimatorSet();
                        double x = -Math.cos(Math.PI * (size - 1 - 2 * i) / (4 * size - 4)) * 600;
                        double y = Math.sin(Math.PI * (size - 1 - 2 * i) / (4 * size - 4)) * 600;
                        set.playTogether(ObjectAnimator.ofFloat(viewList.get(i), "translationX", (float) x, 0),
                                ObjectAnimator.ofFloat(viewList.get(i), "translationY", (float) y, 0));
                        set.setInterpolator(new BounceInterpolator());
                        set.setDuration(500).setStartDelay(100 * i);
                        set.start();
                        
                    } else {
                        //坐标轴上边
                        AnimatorSet set = new AnimatorSet();
                        double x = -Math.cos(Math.PI * (2 * i - size + 1) / (4 * size - 4)) * 600;
                        double y = -Math.sin(Math.PI * (2 * i - size + 1) / (4 * size - 4)) * 600;
                        set.playTogether(ObjectAnimator.ofFloat(viewList.get(i), "translationX", (float) x, 0),
                                ObjectAnimator.ofFloat(viewList.get(i), "translationY", (float) y, 0));
                        set.setDuration(500).setStartDelay(100 * i);
                        set.start();
                    }
                }
                
                
            } else {
                //是奇数
            }
        }
        
        private void showOpenAnim() {
            int size = viewList.size();
            if (size % 2 == 0) {
                //是偶数
                for (int i = 0; i < size; i++) {
                    if (i < size / 2) {
                        //坐标轴下边
                        AnimatorSet set = new AnimatorSet();
                        double x = -Math.cos(Math.PI * (size - 1 - 2 * i) / (4 * size - 4)) * 600;
                        double y = Math.sin(Math.PI * (size - 1 - 2 * i) / (4 * size - 4)) * 600;
                        set.playTogether(ObjectAnimator.ofFloat(viewList.get(i), "translationX", 0, (float) x),
                                ObjectAnimator.ofFloat(viewList.get(i), "translationY", 0, (float) y),
                                ObjectAnimator.ofFloat(viewList.get(i), "alpha", 0, 1).setDuration(2000));
                        set.setDuration(500).setStartDelay(100 * i);
                        set.start();
                        
                    } else {
                        //坐标轴上边
                        AnimatorSet set = new AnimatorSet();
                        double x = -Math.cos(Math.PI * (2 * i - size + 1) / (4 * size - 4)) * 600;
                        double y = -Math.sin(Math.PI * (2 * i - size + 1) / (4 * size - 4)) * 600;
                        set.playTogether(ObjectAnimator.ofFloat(viewList.get(i), "translationX", 0, (float) x),
                                ObjectAnimator.ofFloat(viewList.get(i), "translationY", 0, (float) y),
                                ObjectAnimator.ofFloat(viewList.get(i), "alpha", 0, 1).setDuration(2000));
                        set.setDuration(500).setStartDelay(100 * i);
                        set.start();
                    }
                }
                
                
            } else {
                //是奇数
            }
        }
  • 相关阅读:
    svn 提交失败 更新失败 提示 已经锁定
    Jquery 弹出提示框输入插件 apprise 修改中文按钮以及使用说明
    英文 数字 不换行 撑破div容器
    .clear 万能清除浮动
    Repeater 控件 当数据源没有数据的时候显示 暂无数据 的两种方式
    已以用户 NT AUTHORITYSYSTEM 的身份执行。 对象 名称 'XXX' 包含的前缀超出了最大限值。最多只能有 2 个。
    EasyUI的onLoadSuccess方法
    安装完office后 在组件服务里DCOM配置中找不到
    怎么看SQL表里某列是否是自增列
    SQL连接服务器链接失败
  • 原文地址:https://www.cnblogs.com/yegong0214/p/9364363.html
Copyright © 2011-2022 走看看