Запуск пользовательской анимации между действиями Android - PullRequest
6 голосов
/ 26 августа 2011

Итак, я знаю, что вы можете использовать собственную анимацию между действиями, используя метод overidePendingTransition. Я установил переход между двумя активами, и он отлично работает на моем эмуляторе, но не вижу перехода, когда я прошил приложение на свой телефон. Как это может быть?

Мой эмулятор работает 2.2, как и мой телефон

Вот мой метод onCreate

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        final Button button = (Button) findViewById(R.id.close);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent myIntent = new Intent(ActivityTransitionActivity.this, ActivityTwo.class);
                ActivityTransitionActivity.this.startActivity(myIntent);
                overridePendingTransition(R.anim.fadein, R.anim.fadeout);

            }
        });
    }

Ответы [ 3 ]

11 голосов
/ 26 августа 2011

В вашем style.xml определите анимацию

    <style  name="Animation.CustomAnimation">
        <item name="android:activityOpenEnterAnimation">@anim/slide_in_left</item> When opening a new activity, this is the animation that is run on the next activity
        <item name="android:activityOpenExitAnimation">@anim/slide_out_right</item>When opening a new activity, this is the animation that is run on the previous activity (which is exiting the screen)
        <item name="android:activityCloseEnterAnimation">@anim/slide_in_right</item>When closing the current activity, this is the animation that is run on the next activity (which is entering the screen). 
        <item name="android:activityCloseExitAnimation">@anim/slide_out_left</item>When closing the current activity, this is the animation that is run on the current activity (which is exiting the screen). 
        </style>

<style parent="android:style/Theme.Light.NoTitleBar.Fullscreen" name="app_theme">
     <item name="android:windowBackground">@drawable/splash</item>
     <item name="android:windowAnimationStyle">@style/Animation.CustomAnimation</item>

    </style>

<application android:icon="@drawable/icon" android:label="@string/app_name"
     android:theme="@style/app_theme">

примените app_theme к вашему приложению в манифесте Android

3 голосов
/ 11 апреля 2012

У меня была такая же проблема (на samsung galaxy s).Я нашел свой ответ на Анимация активности не работает в Galaxy Tab Оказывается, анимации по умолчанию отключены на устройствах Samsung.(Это настройка: перейдите в «Настройки» -> «Показать» -> «Анимации», а затем включите «Все анимации», и вы сможете увидеть анимацию)

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

Попробуйте это,

 button.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent myIntent = new Intent(v.getContext(),
                ActivityTwo.class);
        startActivityForResult(myIntent, 0);
        overridePendingTransition(R.anim.zoomextra, 0);
         finish();


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