textView 上的 setAnimation 无效
setAnimation on textView has no effect
我正在处理应用程序,我有一个 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
!!
使用startAnimation()
代替setAnimation()
并在setVisibility()
之后调用
我终于解决了,有两个问题:
第一个
我的 TextView
在一个 RelativeLayout
里面,它有一个 LinearLayout
作为父级,属性 andoid:animateLayoutChanges
在 RelativeLayout
中首次提到,我移动了它在 LinearLayout
.
里面
第二
正如 mreza sh 向我建议的那样,我将 setAnimation()
替换为 startAnimation()
并在 setVisibility()
之后调用它
现在它在所有设备上都能正常工作,即使与调试器断开连接也是如此!
我正在处理应用程序,我有一个 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
!!
使用startAnimation()
代替setAnimation()
并在setVisibility()
我终于解决了,有两个问题:
第一个
我的 TextView
在一个 RelativeLayout
里面,它有一个 LinearLayout
作为父级,属性 andoid:animateLayoutChanges
在 RelativeLayout
中首次提到,我移动了它在 LinearLayout
.
第二
正如 mreza sh 向我建议的那样,我将 setAnimation()
替换为 startAnimation()
并在 setVisibility()
现在它在所有设备上都能正常工作,即使与调试器断开连接也是如此!