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

时间:2017-03-30 15:15:50

标签: android android-fragments android-transitions

我试图在单击片段中的按钮时将翻转过渡到另一个活动。我为所需的按钮设置了onClickListener,调用另一个函数,如:

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

btn.setOnClickListener(View.onClicListener(

@Override

public void onClick(View v)

{

fnTransition(v);

});

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

例如:

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动画过渡吗?

1 个答案:

答案 0 :(得分:0)

用这些替换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>

xml 2-&gt; 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>

虽然这几乎可以解决问题,但更好的办法会更好,因为可以说这不是一个合适的翻转。