В настоящее время я работаю над очень простым интерфейсом для моего Android-приложения. Моя цель - оживить некоторые (пока не знаю, сколько еще) кнопок при запуске и НИКОГДА НЕ СНОВА.Как анимировать Android Просмотр только один раз при запуске?
Итак, следуя официальным документам, прочитав java-документ и выполнив поиск в stackoverflow, я, наконец, получил его работу. Вот что я делаю с одним тестовым представлением.
- Установите вид и анимацию в методе OnCreate().
private TextView test_text;
private Animation test_anim;
...
protected void onCreate(Bundle savedInstanceState) {
...
test_text = (TextView) findViewById(R.id.text);
test_anim = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.test_animation);
}
- запуска анимации в методе OnWindowFocusChanged().
@Override
public void onWindowFocusChanged(boolean hasFocus) {
test_text.startAnimation(test_anim);
}
Эта процедура работает, то анимация выполняется, когда начинается активность, единственная проблема в том, что метод onWindowFocusChanged() вызывается каждый раз, когда активность изменяет состояние. Таким образом, текст оживает, когда приложение возобновляется, когда макет вращается и что-то вроде этого.
Итак, повторяя: Моя цель - анимировать текст только ТОЛЬКО когда приложение загружается, а затем останавливается навсегда.
Если это помогает, я уже попытался запустить анимацию другими способами, такими как onStart() или onResume(), но проблема остается прежней.
Хорошо, получилось. Общие префы работают в любой ситуации, кроме случаев, когда я поворачиваю экран. В этом случае анимация снова повторяется. Это похоже на то, что каждый раз, когда вы поворачиваете экран, активность перезапускается с самого начала. Любая идея, как это решить? Возможно, это то, что я не знаю о вращении экрана. – Claff