【问题标题】:Make activity transition like ViewPager像 ViewPager 一样进行活动转换
【发布时间】:2012-11-13 09:41:46
【问题描述】:

我想用 ViewPager 之类的过渡启动Activity。我的意思是活动 A 将活动 B 从一侧推到另一侧。我阅读了this 并尝试实现转换,但它与 ViewPager 不同。

slide_up1.xml

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

<translate 
    android:fromXDelta="0%p" android:toXDelta="0%p" 
    android:fromYDelta="100%p" android:toYDelta="0%p" 
    android:duration="1000" android:startOffset="500"/>

</set>

slide_up2.xml

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


    <translate 
        android:fromXDelta="0%p" android:toXDelta="0%p" 
        android:fromYDelta="100%p" android:toYDelta="0%p" 
        android:duration="1000" android:startOffset="0"/>

    </set>

调用它。

overridePendingTransition(R.animator.slide_up1, R.animator.slide_up2);

编辑:

我的情况的解决方案。

slide_up1.xml

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

slide_up2.xml

<set xmlns:android="http://schemas.android.com/apk/res/android"
         >
      <translate
       android:fromXDelta="0%" android:toXDelta="0%"
       android:fromYDelta="0%" android:toYDelta="-100%"
       android:duration="1000" />
    </set>

【问题讨论】:

  • 那有什么不同呢?问题出在哪里?

标签: android android-activity android-viewpager android-animation


【解决方案1】:

尝试将 XML 更改为此

动画1

<set xmlns:android="http://schemas.android.com/apk/res/android"
         android:shareInterpolator="false">
        <translate android:fromXDelta="-100%" android:toXDelta="0%"
          android:fromYDelta="0%" android:toYDelta="0%"
         android:duration="1000"/>
       </set>

和动画2

<set xmlns:android="http://schemas.android.com/apk/res/android"
         android:shareInterpolator="false">
      <translate
       android:fromXDelta="0%" android:toXDelta="100%"
       android:fromYDelta="0%" android:toYDelta="0%"
       android:duration="1000" />
    </set>

这是从右到左的

之后,您可以使用覆盖挂起转换来调用它,就像您在问题中使用的代码一样

overridePendingTransition(R.anim.animation1, R.anim.animation2);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 1970-01-01
    • 2013-09-07
    • 2020-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多