Android动画不会影响布局

时间:2010-09-10 16:04:09

标签: android animation layout

动画仅影响窗口小部件的绘制,这意味着在动画完成后,我的FrameLayout screenMain仍然位于其先前位置,需要在下一个位置设置FrameLayout。

screenMain.setOnClickListener(new View.OnClickListener() {
        int i = 0;

        @Override
        public void onClick(View view) {
            if (i % 2 == 0) {
                screenMain.startAnimation(translate);
                sh.startAnimation(translate);
                sg.startAnimation(translate);
                i++;
            } else {
                screenMain.startAnimation(translateb);
                sh.startAnimation(translateb);
                sg.startAnimation(translateb);
                i++;

            }

        }

    });

代码动画

<?xml version="1.0" encoding="utf-8"?>
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0.0"
        android:toXDelta="0.0"
        android:fromYDelta="0.0"
        android:toYDelta="180.0"
        android:duration="200"
        android:fillAfter="true"
        android:fillEnabled="true"
        />
</set>

代码动画b

<?xml version="1.0" encoding="utf-8"?>
<set>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXDelta="0.0" 
        android:toXDelta="0.0" 
        android:fromYDelta="180.0"
    android:toYDelta="0.0" 
        android:duration="200" 
        android:fillAfter="true"
    android:fillEnabled="true" />
</set>

1 个答案:

答案 0 :(得分:0)

要更改视图的位置,您需要调用view.setLayoutParams()。实现此动画效果的简单方法是首先将setLayoutParams()调用到结束位置,然后从原始位置调用TranslateAnimation。

以下是有关如何:http://www.clingmarks.com/?p=400

的详细信息