gpt4 book ai didi

android - 无法使幻灯片动画正常工作

转载 作者:行者123 更新时间:2023-11-29 17:55:08 25 4
gpt4 key购买 nike

我正在尝试从我的列表到详细信息页面制作一个很好的过渡效果,然后从详细信息返回到列表页面。像这样的东西:

     +----------+   +--------+ A |  All from same direction +------+ B |   | |    A |  +--> | |      |   |   | |      |   |   | |     +--> |   | +------+   |   |   +--------+   |     +----------++--------+             +----------+|   B    |---+    +----|     A    ||        | A |    |  B |          ||        |   |    |    |          ||        |   |    |    |          ||        |   |    |    |          ||      +---> |    |    |          ||        |   |    |  <----+       ||        |   |    |    |          ||        |---+    +----|          |+--------+             |          |                       +----------+ B moves over A, then after pressing back A moves over B.

The first part works well (list>detail) however I hook the opposite order of effects on the back action and it kind of works but not as I would want it. The wrong page (page B) undertakes the slide after back press, settles over A, then disappears.

What I really wanted was for A to slide over B after back press, which makes more sense.

Code from list:

lstBooks.setOnItemClickListener(new ListView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> adapter, View view, int position, long id)
{
Intent intent = new Intent(BooksActivity.this, DetailClass.class);
startActivity(intent);
overridePendingTransition(R.anim.left_to_right_slide, R.anim.right_to_left_slide);
}
});

与详情页相反:

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

从左向右滑动:

<?xml version="1.0" encoding="utf-8"?>

<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="350"/>
</set>

从右向左滑动:

<?xml version="1.0" encoding="utf-8"?>

<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="350" />
</set>

基本上,我希望幻灯片在向后按时在相反的方向上自然工作。 **

最佳答案

有 4 种不同的动画场景:

          ******************
* *
Left ==*==> Center *
* *
******************

******************
* *
* Center ==*==> Right
* *
******************

******************
* *
Left <==*== Center *
* *
******************

******************
* *
* Center <==*== Right
* *
******************

所以,你需要定义4个动画:

left_to_center_slide

    android:fromXDelta="-100%"
android:toXDelta="0%"

center_to_right_slide

    android:fromXDelta="0%"
android:toXDelta="100%"

center_to_left_slide

    android:fromXDelta="0%"
android:toXDelta="-100%"

right_to_center_slide

    android:fromXDelta="100%"
android:toXDelta="0%"

然后:

List to Detail:

overridePendingTransition(R.anim.left_to_center_slide, 
R.anim.center_to_right_slide);

Detail to List:

overridePendingTransition(R.anim.right_to_center_slide, 
R.anim.center_to_left_slide);

关于android - 无法使幻灯片动画正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19958227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com