我正在处理申请,我有一个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
!!
答案 0 :(得分:2)
使用startAnimation()
代替setAnimation()
,并在setVisibility()
答案 1 :(得分:1)
我终于解决了,有两个问题:
首先
我的TextView
位于RelativeLayout
内,其LinearLayout
为父级,andoid:animateLayoutChanges
中首次提及属性RelativeLayout
,我将其移至内部LinearLayout
。
第二
正如 mreza sh 向我建议的那样,我将setAnimation()
替换为startAnimation()
并在setVisibility()
现在它可以在所有设备上正常工作,甚至与调试器断开连接!