it-swarm.com.de

Starten Sie die Aktivität mit dem Modus von links nach rechts

Ich stehe vor einem Problem.

Ich habe drei Aktivitäten und ich muss mit der linken Maustaste eine neue Aktivität starten.

Activity1

Activity2

Activity3

meint enter image description here

wenn ich auf die Schaltfläche klicke, sollte die neue Aktivität nicht direkt so angezeigt werden wie das Verhalten von Android).

ich möchte, dass neue Aktivitäten von rechts kommen und auf dem aktuellen Bildschirm angezeigt werden.

jeder kann mich anleiten. Das ist Animation oder irgendetwas anderes.

28
Unknown

Starten Sie die Aktivität und wenden Sie dann einfach den Übergangseffekt an. Für weitere Informationen besuchen Sie einfach hier und für ein Quellcode-Beispiel hier . Bei Fragen können Sie gerne einen Kommentar abgeben.

19
The Holy Coder

Ich werde versuchen, Ihnen mit dem folgenden Beispiel zu helfen:

res/anim/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>

res/anim/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>

res/anim/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>

res/anim/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>

src/Activity2

@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);
}
104
Med Besbes

Ein besserer Ansatz besteht darin, einen Stil wie folgt zu erstellen:

<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>

Wenden Sie dann diesen Stil mithilfe des Android: theme-Tags auf Ihre Aktivität in der Manifestdatei an.

11
nikhil.thakkar

Hier ist es,

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

Und hier ist die Animation 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>

und 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
Basim Sherif

rufen Sie overridePendingTransition auf, bevor Sie SecondActivity starten. Als Parameter werden zwei int enterAnim, exitAnim.

  • enterAnim ist eine Ressourcen-ID der Animationsressource, die für die eingehende Aktivität verwendet werden soll. Verwenden Sie 0 für keine Animation
  • exitAnim ist eine Ressourcen-ID der Animationsressource, die für die ausgehende Aktivität verwendet werden soll. Verwenden Sie 0 für keine Animation.
3
Blackbelt