我有一个带有TextView的布局,我想让文本或View本身在运行时显示一段时间。 我怎么能这样做?
我尝试使用动画:我已将TextView放在main.xml中的Animation标记内,但是当我使用时:
animation = AnimationUtils.loadAnimation(this, R.id.msg_anim);
以后:
animation.startNow();
我得到例外。
那么如何使文本或TextView可见一秒?
谢谢。
答案 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()。如果这不是问题,请发布有关您的异常的更多信息(如堆栈跟踪)