Android - ObjectAnimator set pivot value属性动画设置放大时的中心点设置

login_toast_phone.setPivotX(pivotX);
login_toast_phone.setPivotY(pivotY);


//------------------------------------------------------------------------------------

要重点注意:这里的prvotX和pivotY是相对于控件自身而言的。

//------------------------------------------------------------------------------------



First we have to calculate the HEIGHT of the view -

iOutdoorCompressedHeight = rlOutdoorSection.getMeasuredHeight();

Use this height as the pivot around which the view has to be scaled.

rlOutdoorSection.setPivotX(0f);
rlOutdoorSection.setPivotY(iOutdoorCompressedHeight);

The trick here can be getting the measured height of the view.
In an Activity calculate the height in

@Override
public void onWindowFocusChanged(boolean hasFocus)
{
    super.onWindowFocusChanged(hasFocus);
    // Here calculate the height / width
}

In a FRAGMENT use global layout listener-

rlOutdoorSection = (RelativeLayout) vMain
            .findViewById(R.id.rlOutdoorSection);
    ViewTreeObserver vtoOutdoor = rlIndoorSection.getViewTreeObserver();
    vtoOutdoor.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

        @Override
        public void onGlobalLayout() {
            iOutdoorCompressedHeight = rlOutdoorSection.getMeasuredHeight();
            rlOutdoorSection.setPivotX(0f);
            rlOutdoorSection.setPivotY(iOutdoorCompressedHeight);

        }
    });

Hope this will help some one.

http://stackoverflow.com/questions/18140262/android-objectanimator-set-pivot-value

你可能感兴趣的:(Android学习)