如何从片段到 activity 进行 3D 翻转?

How to make a 3D flip from a fragment to an activity?

我正在尝试在单击片段中的按钮时翻转到另一个 activity。我已经为调用另一个函数的所需按钮设置了 onClickListener,例如:

Button btn = (Button) getActivity().findViewById(R.id.button1);

btn.setOnClickListener(View.onClicListener(

@Override

public void onClick(View v)

{

fnTransition(v);

});

我尝试使用 xml 文件中定义的 2D 动画从片段中打开 activity。

例如:

private void fnTransition(View v)

{

//some condition check

startActivity(getActivity(), intendedActivity.class));

getActivity.overridePendingTransition (R.layout.new_activity_animation, 

R.layout.leaving_activity_animation);

getActivity().finish();

}

是否可以采用类似的方法来执行 3D 动画过渡?

用这些替换提到的 2 个 xml 文件几乎可以解决问题,尽管这可能不是最好的方法。

xml 1 -> from_middle.xml

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

    <scale
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromXScale="1.0" android:toXScale="1.0"
        android:pivotX="50%"
        android:fromYScale="0.0" android:toYScale="1.0"
        android:pivotY="50%"
        android:duration="500" />

</set>

xml2->to_middle

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

    <scale
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:fromXScale="1.0" android:toXScale="1.0"
        android:pivotX="50%"
        android:fromYScale="1.0" android:toYScale="0.0"
        android:pivotY="50%"
        android:duration="500" />

</set>

虽然这几乎可以解决问题,但更好的方法会更可取,因为可以看出这不是正确的翻转。