Подтвердить что ты не робот

Начать работу в режиме слева направо

У меня проблема.

У меня есть три действия, и мне нужно начать новую работу со слайдом влево.

Activity1

Activity2

Activity3

означает enter image description here

когда я нажимаю кнопку "Новая активность", не должен отображаться непосредственно, как поведение Android.

Я хочу, чтобы новые действия поступали с правой стороны и отображались на текущем экране.

любой может предоставить мне руководство. Это анимация или что-то еще.

4b9b3361

Ответ 1

Запустите действие, а затем просто примените эффект перехода. Для получения дополнительной информации, как это сделать, просто посетите здесь, а для примера с исходным кодом посетите this. Для любого запроса не стесняйтесь комментировать.

Ответ 2

Я попытаюсь помочь вам в следующем примере:

Рез/аним/trans_left_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<translate 
        android:fromXDelta="100%p" 
        android:toXDelta="0" 
        android:duration="@android:integer/config_longAnimTime"/>
</set>

Рез/аним/trans_left_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
         android:fromXDelta="0" 
         android:toXDelta="-100%p" 
         android:duration="@android:integer/config_longAnimTime"/>
</set>

Рез/аним/trans_right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate 
        android:fromXDelta="-100%p" 
        android:toXDelta="0" 
        android:duration="@android:integer/config_longAnimTime"/>
</set>

Рез/аним/trans_right_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
         android:fromXDelta="0" 
         android:toXDelta="100%p" 
         android:duration="@android:integer/config_longAnimTime"/>
</set>

ЦСИ/деятельности2

@Override
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_traces);
        overridePendingTransition(R.anim.trans_left_in, R.anim.trans_left_out);
...}

@Override
public void onBackPressed() {
    super.onBackPressed();
    overridePendingTransition(R.anim.trans_right_in, R.anim.trans_right_out);
}

Ответ 3

A Лучший подход заключается в создании стиля следующим образом:

<style name="mytheme" parent="@android:style/Theme.Black">
    <item name="android:windowAnimationStyle">@style/theme</item>
</style>

<style name="theme">
    <item name="android:windowEnterAnimation">@anim/fade_in</item>
    <item name="android:windowExitAnimation">@anim/fade_out</item>
</style>

Затем примените этот стиль к вашей активности в файле манифеста, используя тег android: theme.

Ответ 4

Вот он,

Intent intent=new Intent(Activity1.this,Activity2.class);
startActivityForResult(intent,0);
getActivity().overridePendingTransition( R.anim.righttoleft, R.anim.stable );

И вот анимация righttoleft.xml,

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >

    <translate
          android:duration="500"
          android:fromXDelta="-100%"
          android:fromYDelta="0%"
          android:toXDelta="0%"
          android:toYDelta="0%" />
</set>

и stable.xml

<?xml version="1.0" encoding="UTF-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
  <alpha android:fromAlpha="1.0" android:toAlpha="1.0" 
      android:interpolator="@android:anim/accelerate_interpolator" 
      android:duration="500"
      android:repeatCount="0"/>
</set>

Ответ 5

вызовите overridePendingTransition перед запуском SecondActivity. Он принимает в качестве параметров два int enterAnim, exitAnim.

  • enterAnim - это идентификатор ресурса ресурса анимации, который будет использоваться для входящей активности. Использовать 0 без анимации.
  • exitAnim - это идентификатор ресурса ресурса анимации, который будет использоваться для исходящей активности. Используйте 0 без анимации.