我正在使用这个动画为LinearLayout设置动画,但我不能让它移动动画结束的方向......
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,但由于某种原因,linearlayout的位置不会改变...... 我在这里做错了什么?
编辑:经过一些测试后,我发现onAnimationEnd事件根本没有被触发......是什么......?
答案 0 :(得分:0)
原来我必须改变
myLinearLayout.setLayoutAnimationListener
到
intro.setAnimationListener
噢,这么合乎逻辑啊......好吧。现在我只需修复这些边距:P