Java Android FragmentTransaction setTransitionStyle
我试图自定义我的Java Android FragmentTransaction setTransitionStyle,java,android,android-fragments,Java,Android,Android Fragments,我试图自定义我的FragmentTransaction转换,我遇到了setTransitionStyle方法。它接受xml资源id作为样式,但我不知道xml资源会是什么样子。我知道您可以为活动定义动画样式,我假设此方法所需的xml类似,但我找不到任何关于所需格式的文档(例如,实现此功能所需的xml属性/节点) EDIT1(这就是我现在在碎片活动中所做的): 我知道这并不能完全回答问题,但为什么不使用setCustomAnimations() 如果您使用Android 3+,并且使用支持软件包,则
FragmentTransaction
转换,我遇到了setTransitionStyle
方法。它接受xml资源id作为样式,但我不知道xml资源会是什么样子。我知道您可以为活动定义动画样式,我假设此方法所需的xml类似,但我找不到任何关于所需格式的文档(例如,实现此功能所需的xml属性/节点)
EDIT1(这就是我现在在碎片活动中所做的):
我知道这并不能完全回答问题,但为什么不使用
setCustomAnimations()
如果您使用Android 3+,并且使用支持软件包,则需要拨打此电话。我在这个链接上找到了答案 过渡风格资源 在样式资源中指定过渡动画 创建样式资源“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>
它需要一个动画对象,但不清楚是什么(我没有深入挖掘Android源代码)。下面的代码起作用了,但什么也没做:
transaction.setTransitionStyle(android.R.attr.fragmentFadeExit动画)代码>
<?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>
tx.setTransitionStyle(R.style.MyTransitionStyle);
tx.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);