Android:如何在运行时使TextView在定义的时间内可见

时间:2011-08-04 20:48:24

标签: android animation textview

我有一个带有TextView的布局,我想让文本或View本身在运行时显示一段时间。 我怎么能这样做?

我尝试使用动画:我已将TextView放在main.xml中的Animation标记内,但是当我使用时:

animation = AnimationUtils.loadAnimation(this, R.id.msg_anim);

以后:

animation.startNow();

我得到例外。

那么如何使文本或TextView可见一秒?

谢谢。

3 个答案:

答案 0 :(得分:2)

您可以使用处理程序在运行时处理定时的UI元素。

TextView myTV;
Handler uiHandler = new Handler();
Runnable makeTextGone = new Runable(){
   @Override
   public void run(){
      myTv.setVisibility(View.GONE);
   }
};

@Override
public void onCreate(Bundle icicle){
   .... code ....
   myTv = (TextView) findViewById(R.id.myTextView);
   uiHandler.postDelayed(makeTextGone, 1000);
   ... code ...
}

uiHandler.postDelayed(makeTextGone, 1000);的调用只会在一秒钟后调用runnable。在文本可见后立即放置,一秒后它会消失。

答案 1 :(得分:0)

您需要确保在调用任何动画或资源之前实例化您的活动。

确保你正在调用此AFTER super.onCreate();

希望这会有所帮助。

答案 2 :(得分:0)

您可能会遇到异常,因为您正尝试在onCreate()中启动动画。

根据文档,启动动画的推荐位置是onResume()。如果这不是问题,请发布有关您的异常的更多信息(如堆栈跟踪)