【问题标题】:android activities vertical transition animationandroid活动垂直过渡动画
【发布时间】:2016-05-10 06:43:42
【问题描述】:

我不知道这里出了什么问题。试图在两个活动之间制作垂直动画。活动 1 应该从可见滑到底部。 Activity 2 应该从上到下滑动(变得可见)。

这就是我想要的

我的代码

overridePendingTransition(R.anim.top_to_visible, R.anim.visible_to_bottom);

top_to_visible.xml

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

visible_to_bottom.xml

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

这里有什么问题?

【问题讨论】:

  • 你说了你想要的,但你没有说你得到了什么:)
  • 我得到的是 Activity 1 向上移动 + Activity 2 向上移动(我想要相反并且反转数字并不能解决它)

标签: android android-activity android-animation transition


【解决方案1】:

您是否可能认为 y 轴原点位于底部?因为当我只是修改 from/to 值时,我得到了你想要的。 y 的 0% 位于顶部。 0/0 点位于左上角。因此,基于此,您需要“到底部”从 0 移动到 100%,而“从顶部到可见”需要从 -100% 到 0%

top_to_visible.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="300"
        android:fromYDelta="-100%p"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toYDelta="0%p" />
</set>

和visible_to_bottom

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="300"
        android:fromYDelta="0%p"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toYDelta="100%p" />
</set>

【讨论】:

  • 太棒了!是的,我完全错误地理解了 XY 坐标 :( 谢谢
【解决方案2】:

为 visible_to_bottom.xml 动画试试这个 ..

android:fromYDelta="0%p" android:toYDelta="100%p"

去掉负号“-100%p”->“100%p”

【讨论】:

    【解决方案3】:

    您需要使用anim。先创建两个xml文件,放到res/anim

    top_to_visible.xml

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

    visible_to_bottom.xml

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      相关资源
      最近更新 更多