将动画转换为中心屏幕

时间:2013-03-04 08:07:07

标签: android android-animation

我的RelativeLayout里面有一个ImageViewImageView随机放置在布局中。我正在尝试应用翻译动画,它会将ImageView从当前位置(x,y)转换为屏幕(x,y)的中心。

我已尝试过类似下面的代码,但它没有做到这一点。

<translate 
    android:fromXDelta="0%"
    android:toXDelta="50%"
    android:fromYDelta="0%"
    android:toYDelta="50%"
    android:duration="500"/>

帮助赞赏;)

1 个答案:

答案 0 :(得分:0)

我的代码: 理解...

Point windowSize = new Point();

    int totalWidth;


    //obtem o tamanho da tela que estamos trabalhando no momento
    if(Build.VERSION.SDK_INT > 12) {

        windowManager.getDefaultDisplay().getSize(windowSize);
        totalWidth = windowSize.x;
    }
    else
        totalWidth = windowManager.getDefaultDisplay().getWidth();

    //vamos animar ao centro
    final int totalWidthFinal = ((totalWidth / 2)  - (int)getDimension(R.dimen.fab_actions_spacing)) * -1;
    mFloatingActionButton.post(new Runnable() {

        @Override
        public void run() {

            int translationX =  totalWidthFinal;


            ViewPropertyAnimator.animate(mFloatingActionButton).setDuration(300).translationX(translationX);
        }
    });