Анимация запуска главного экрана?

У меня есть следующий код:

    PackageManager mPackageManager = getPackageManager();
    ComponentName component = new ComponentName("com.myPackage", "com.myPackage.GhostLauncher");
    mPackageManager.setComponentEnabledSetting(component, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);

    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

    mPackageManager.setComponentEnabledSetting(component, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
    overridePendingTransition(R.anim.slide_out_left, R.anim.slide_in_left);

По сути, каждый раз, когда запускается этот код, появляется диалоговое окно, предлагающее пользователю выбрать домашний экран по умолчанию, что и требовалось. Как только пользователь выбирает этот домашний экран по умолчанию, он запускается. Мой вопрос не слишком сложен, я просто не уверен, как это сделать: когда я нажимаю кнопку, соответствующую приведенному выше коду, диалоговое окно, предлагающее пользователю выбрать домашний экран по умолчанию, появляется справа . Однако, как только пользователь делает выбор, сам главный экран появляется с анимацией по умолчанию. Как я могу переопределить эту вторую анимацию, чтобы она также была слайдом справа?


person scibor    schedule 01.07.2013    source источник
comment
Я сомневаюсь, что это возможно, так как вы не тот, кто вызывает startActivity() для фактического домашнего экрана, а тот, кто выбирает. В идеале средство выбора должно копировать настройки, но это зависит от реализации средства выбора.   -  person CommonsWare    schedule 02.07.2013


Ответы (1)


Вы можете попробовать двигаться

overridePendingTransition(R.anim.slide_out_left, R.anim.slide_in_left);

до GhostLauncher.onCreate(), возможно, еще не поздно переопределить анимацию, потому что действие еще не создано.

person Diego Torres Milano    schedule 01.07.2013