Слайд-активность

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

P.S - Я не хочу, чтобы это рассматривалось как случайный вопрос, поскольку код не показан. Мне просто нужно что-то начать, и я полностью озадачен.

Ответ 1

сделать папку с анимацией в res →

Сделать файл xml в папке смены slide_up_info.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
    android:duration="500"
    android:fromYDelta="100%p"
    android:toYDelta="0" />
</set>

slide_down_info.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" >
<translate
    android:duration="500"
    android:fromYDelta="0%p"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toYDelta="100%p" />
</set>

no_change.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate android:fromYDelta="0%p" android:toYDelta="0" android:duration="500"/>
</set>

Теперь, когда вы хотите активировать активность, напишите ниже код

Intent intent_info = new Intent(MainActivity.this,ToActivity.class);
startActivity(intent_info);
overridePendingTransition(R.anim.slide_up_info,R.anim.no_change);

Для анимации активности вниз

Intent intent_home=new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent_home);
overridePendingTransition(R.anim.no_change,R.anim.slide_down_info);

Ответ 2

Анимации можно ввести в Activity Launch с помощью OverridePendingTransition. Взгляните на этот пример, где они показали пример кода. Анимация между действиями

Чтобы завершить действие, вы можете вызвать finish() для первого действия.

Знание о слайд-шоу, вы можете проверить onFling на GestureDetector или onTouch из OnTouchListener

Ответ 3

Вы также можете сделать это следующим образом: в своей анимации переопределите метод onAnimationEnd и используйте startActivity в нем для запуска вашей новой активности после окончания анимации