setTranslationY未正确初始化

时间:2016-11-16 14:41:17

标签: android android-animation translate-animation

我创建了两个简短的方法来帮助我在选中某个复选框时显示或隐藏视图。 我有一个Init方法,我在其中初始化一个复选框和一个视图,以及一个从复选框状态更改侦听器内部调用的切换方法,并使用动画切换视图状态。

for(int i = 0; i < n; i++){
    // Do your work (click or press DOWN_ARROW);
    // This way you can achieve it.
}

它可以很好地处理alpha动画,但是在翻译动画方面有一个小问题,尽管它们以完全相同的方式处理和初始化。为什么呢?

特别是,只要复选框状态发生变化,翻译就会正常工作,但是当复选框开始时,视图是不可见的,只有在第一个状态更改时,视图才会显示alpha动画,但不会执行翻译动画。 看起来刚刚创建视图时,它的翻译状态未初始化,而alpha状态是,虽然它是在toggleViewVisibilityInit()方法中完成的。

有人知道为什么会这样吗?看起来,只要创建视图,就不会考虑翻译。

1 个答案:

答案 0 :(得分:1)

视图尚未绘制,因此它的高度未知(因此等于0)。

如果你知道这一点,很容易找到解决方案,例如。 getWidth() and getHeight() of View returns 0

希望这有帮助!