android 动画

    /**
     * 滚动发生时
     */
    @Override
    protected void onScrollChanged(int l, int t, int oldl, int oldt) {

        super.onScrollChanged(l, t, oldl, oldt);
        float scale=l*1.0f/mMenuWidth;
        float rightScale=0.7f+0.3f*scale;
        float leftScale=1.0f-scale*0.3f;
        float leftAlpha=0.6f+0.4f*(1-scale);
        //调用属性动画,设置TranslationX
        //使用ViewHelper.setTranslationX设置它移动的位置,移动速度快,感觉它一直存在
        ViewHelper.setTranslationX(mMenu, mMenuWidth*scale*0.7f);
        ViewHelper.setScaleX(mMenu, leftScale);
        ViewHelper.setScaleY(mMenu, leftScale);
        //设置alpha值
        ViewHelper.setAlpha(mMenu, leftAlpha);

        //设置缩放的中心点(view--->要缩放的内容)
        ViewHelper.setPivotX(mContent, 0);
        ViewHelper.setPivotY(mContent, mContent.getHeight()/2);
        //设置缩放比例
        ViewHelper.setScaleX(mContent, rightScale);
        ViewHelper.setScaleY(mContent, rightScale);
    }

你可能感兴趣的:(Android)