Android: как сделать TextView видимым в течение определенного времени во время выполнения - PullRequest
0 голосов
/ 05 августа 2011

У меня есть макет с TextView, и я хочу, чтобы текст или само представление были представлены в течение определенного времени во время выполнения. Как я могу это сделать?

Я пытался с анимацией: я поместил TextView внутри тега анимации в main.xml, но когда я использую:

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

и позже:

animation.startNow();

Я получаю исключение.

Итак, как сделать текст или TextView видимым на секунду?

Спасибо.

Ответы [ 3 ]

2 голосов
/ 05 августа 2011

Вы можете использовать обработчики для обработки временных элементов пользовательского интерфейса во время выполнения.

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); вызовет выполняемый объект только один раз через одну секунду.Поместите его сразу после того, как вы сделаете текст видимым, и он должен исчезнуть через секунду.

0 голосов
/ 05 августа 2011

Возможно, вы получаете исключение, потому что вы пытаетесь запустить анимацию в onCreate ().

Согласно документации, рекомендуемое место для запуска анимации - в onResume (). Если это не проблема, опубликуйте дополнительную информацию о вашем Exception (например, трассировку стека)

0 голосов
/ 05 августа 2011

Перед тем, как вызывать какие-либо анимации или ресурсы, вам необходимо убедиться, что ваша деятельность создана.

Убедитесь, что вы вызываете это ПОСЛЕ super.onCreate ();

Надеюсь, это помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...