首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android path 卡通效果 (很酷)

2012-06-30 
android path 动画效果 (很酷)玩过 Path 的朋友一定会被其主页的功能按钮动画所吸引,觉得很神奇。废话不多

android path 动画效果 (很酷)
玩过 Path 的朋友一定会被其主页的功能按钮动画所吸引,觉得很神奇。
废话不多说,直接贴代码, 完整代码请下载。
附源码

private static void startAnimationsIn(ViewGroup viewgroup)
    {
        int count = viewgroup.getChildCount();
        for(int i=0; i<count; i++){
        if(viewgroup.getChildAt(i) instanceof InOutImageButton)
            {
                InOutImageButton imgView = (InOutImageButton)viewgroup.getChildAt(i);
                ComposerButtonAnimation animation = new ComposerButtonAnimation(InOutAnimation.Direction.IN, 200, imgView);
                long startOffset = i * 100 / (count -1);
                animation.setStartOffset(startOffset);
                animation.setInterpolator(new OvershootInterpolator(2F));
                imgView.startAnimation(animation);
            }
        }
    }

    private static void startAnimationsOut(ViewGroup viewgroup)
    {
   
        int count = viewgroup.getChildCount();
        for(int i=0; i<count; i++){
        if(viewgroup.getChildAt(i) instanceof InOutImageButton)
            {
                InOutImageButton inoutimagebutton = (InOutImageButton)viewgroup.getChildAt(i);
                int direction = InOutAnimation.Direction.OUT;
                ComposerButtonAnimation anim = new ComposerButtonAnimation(direction, 200, inoutimagebutton);
                long startOffset = (count -1 - i) * 100 / (count -1);
                anim.setStartOffset(startOffset);
                anim.setInterpolator(new AnticipateInterpolator(2F));
                inoutimagebutton.startAnimation(anim);
            }
        }
   
    }

    protected void addInAnimation(View aview[])
    {
        ViewGroup.MarginLayoutParams marginlayoutparams = (ViewGroup.MarginLayoutParams)aview[0].getLayoutParams();
        float fromX = -marginlayoutparams.leftMargin + xOffset;
        float fromY = marginlayoutparams.bottomMargin - 13;
        TranslateAnimation anim = new TranslateAnimation(fromX, 0F, fromY, 0F);
        addAnimation(anim);
    }

    protected void addOutAnimation(View aview[])
    {
        android.view.ViewGroup.MarginLayoutParams marginlayoutparams = (android.view.ViewGroup.MarginLayoutParams)aview[0].getLayoutParams();
        float toX = -marginlayoutparams.leftMargin + xOffset;
        float toY = marginlayoutparams.bottomMargin - 13;
        TranslateAnimation anim = new TranslateAnimation(0F, toX, 0F, toY);
        addAnimation(anim);
    }

热点排行