5

我想添加动画,以便我的 imageview 向左滑动,离开屏幕并从右侧进入,滑回原来的位置。我试着做这样的事情..

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

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

但是动画不是我想要的..谁能帮帮我

4

2 回答 2

4

编辑:好的,所以你想做的是a **的痛苦(又一个应该很简单的android东西)!在早期版本的 android 上,两个动画相继出现并不能很好地发挥作用。在从不版本上,您可以使用 api lvl 11 中的动画集。示例here。或者,我会使用更简单的动画。

以下是如何为活动滑入/滑出(旧答案):

滑入左侧活动:

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

滑入正确的活动:

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

滑出左侧活动:

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

滑出正确的活动:

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

示例用法:

Intent intent = new Intent(this, YourNewActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);

背面的示例用法:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        super.onBackPressed();
        overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_right);
    }
    return super.onKeyDown(keyCode, event);
}
于 2012-11-08T05:59:03.983 回答
0

正如 Warpzit 所说,它是一个错误并且是一个已知问题......就像在这里

我浪费了我的时间认为这是我这边的一个错误。开发人员指定的替代方案是-“您可以通过使用两个动画来实现它。启动第一个并在它结束时(使用动画侦听器进行通知),开始第二个。它不是那么好和容易,但它应该可以工作。

我学到的另一件事是 android honeycomb 比旧版本有更多的动画功能..为了在 pre-honeycomb 版本中使用这些功能,我们可以使用Nineoldandroids

于 2012-11-08T11:35:30.657 回答