如何将TextView移动到屏幕底部直到它消失?

时间:2015-08-08 21:00:02

标签: android android-layout android-animation textview translate-animation

我需要将TextView滚动到底部,直到通过预先形成像xml中的翻译动画这样的动画来消失。我尝试创建一个动画文件并在xml中使用了translate属性,但它会做的是它将按照我在xml中设置的特定距离向下移动。我不知道怎么让它翻到底部,直到它消失并从屏幕上消失。还有一件事是,我还想要一个类似侦听器的东西,当TextView消失时它将执行一些动作,并在动画结束时从屏幕上消失。

任何建议都将不胜感激。感谢。

1 个答案:

答案 0 :(得分:4)

您可以计算出您希望观看视距的距离,但如果您不想要精确,则可以使用屏幕高度:

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int screenHeight = size.y;

然后根据需要为视图添加动画,但添加一个侦听器以在最后执行您想要的操作:

textView.animate().translationY(screenHeight).setListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            textView.setVisibility(View.GONE);
        }
    });

你仍然需要在听众的最后使视图可见性为GONE,以确保你不再看到它。

您也可以尝试使用getBottom()作为距离。