textView上的setAnimation无效

时间:2017-02-06 20:11:10

标签: android android-animation

我正在处理申请,我有一个Activity,我必须在其中显示TextView

最初TextView是不可见的,但是当我必须让它可见时,我才设置动画。动画在Alcatel One Touch API 17,HTC One X API 17和Samsung S3 Neo API 19上运行良好,但在Nexus 5 API 23上,它仍然可以使用默认动画(淡入)。

有没有理由发生这种情况?这是我使用的代码:

myTextView.setAnimation(AnimationUtils.loadAnimation(getApplicationContext(), R.anim.come_in_from_left));
myTextView.setVisibility(View.VISIBLE);

修改

我刚注意到,当我不在调试器上时,动画根本无法在所有设备上运行!看起来我需要将设备连接到ADB !!

2 个答案:

答案 0 :(得分:2)

使用startAnimation()代替setAnimation(),并在setVisibility()

之后调用它

答案 1 :(得分:1)

我终于解决了,有两个问题:

首先

我的TextView位于RelativeLayout内,其LinearLayout为父级,andoid:animateLayoutChanges中首次提及属性RelativeLayout,我将其移至内部LinearLayout

第二

正如 mreza sh 向我建议的那样,我将setAnimation()替换为startAnimation()并在setVisibility()

后调用它

现在它可以在所有设备上正常工作,甚至与调试器断开连接!