Android - 将线性布局移动到动画后的位置



我正在使用这个动画来制作线性布局的动画,但我就是无法让它移动动画结束的方向......

TranslateAnimation intro = new TranslateAnimation( Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.0f, Animation.RELATIVE_TO_SELF, 0.8f );

我现在有这段代码可以使其转到正确的位置,但它不起作用:

myLinearLayout.setLayoutAnimationListener(
        new AnimationListener() {public void onAnimationEnd(Animation animation) {
                float pixelsInDP = (float) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 1, getResources().getDisplayMetrics());
                LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT );
                int marginLeft = (int) (41 * pixelsInDP);
                int marginTop = (int) ((letter1+3) * pixelsInDP);
                layoutParams.setMargins( marginLeft, marginTop, 0, 0);
                myLinearLayout.setLayoutParams(layoutParams);
                myLinearLayout.invalidate();
            }

myLinearLayout 是 LinearLayout,但由于某种原因,线性布局的位置不会改变......伙计们,我在这里做错了什么?

编辑:经过更多的测试,我发现onAnimationEnd事件根本没有被触发...什么。。。?

原来我不得不改变

myLinearLayout.setLayoutAnimationListener

intro.setAnimationListener

哦,太合乎逻辑了...嗯。现在我只需要修复这些边距:P

最新更新