Android FragmentTransaction setTransitionStyle

6
我正在尝试自定义我的FragmentTransaction过渡效果,我发现了setTransitionStyle方法。它需要一个样式的xml资源id,但我不知道这个xml资源会是什么样子。我知道你可以为活动定义动画样式,我假设这个方法所需的xml类似,但我找不到任何关于所需格式的文档(例如使其工作所需的xml属性/节点)。
编辑1(这是我在FragmentActivity中现在正在做的事情):
public void pushFolderFrag(Fragment folderFrag, String backStackID) {
    FragmentTransaction transaction = getFragmentManager().beginTransaction();
    transaction.replace(R.id.SplitView_MasterContainer, folderFrag);
    transaction.addToBackStack(backStackID);
    transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_CLOSE);
    //transaction.setTransitionStyle(arg0);//what does the format for this resource look like??

    // Commit the transaction
    transaction.commit();
}

1
它需要一个动画对象,尽管不清楚具体是什么(我没有深入研究Android源代码)。以下代码能够运行,但并未起到任何作用:transaction.setTransitionStyle(android.R.attr.fragmentFadeExitAnimation); - scorpiodawg
2个回答

1

我在这个链接上找到了答案

https://github.com/kedzie/Support_v4_NineOldAndroids

Transition style resources

Specify transition animations in a style resource.

Create a style resource `res/values/styles.xml'

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- Override standard Transitions with a Style -->
    <style name="MyTransitionStyle">
        <item name="fragmentFadeEnterAnimation">@animator/fade_enter</item>
        <item name="fragmentFadeExitAnimation">@animator/fade_exit</item>
        <item name="fragmentOpenEnterAnimation">@animator/flip_left_in</item>
        <item name="fragmentOpenExitAnimation">@animator/flip_left_out</item>
        <item name="fragmentCloseEnterAnimation">@animator/flip_right_in</item>
        <item name="fragmentCloseExitAnimation">@animator/flip_right_out</item>
    </style>
</resources>

Specify the resource and transition in the transaction

tx.setTransitionStyle(R.style.MyTransitionStyle);
tx.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);

0

我知道这并不完全回答了问题,但为什么你不使用setCustomAnimations()呢?
如果你使用的是Android 3+,这个调用将会需要属性动画资源,而如果你使用的是Support Package,它将需要视图动画资源


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接