我大约有一天深入到android,所以请纠正我,如果有什么是完全不寻常的,但这是我的问题。
我有一个框架,我可以像这样交换碎片:
Fragment f = ... //defined elsewhere
FragmentManager fm1 = getFragmentManager()
FragmentTransaction ft1 = fm1.beginTransaction();
ft1.setCustomAnimations(R.animator.slide_in_left,
R.animator.slide_out_right);
ft1.replace(R.id.content_layout, f)
.addToBackStack(null)
.commit();
我定义了两个自定义动画,slide_in_left和slide_out_right,就像这样(另一个是尺寸相反):
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="x"
android:valueType="floatType"
android:valueFrom="-800"
android:valueTo="0"
android:duration="500" />
</set>
这一切都很好,如果我手动编码正确的值,看起来相当不错。 我不确定的是我应该如何设置“valueFrom”,并且“valueTo”基本上我需要知道设备宽度(或帧宽度)并让它在那里使用它。我想我需要在这里设置一些类型的回调,但我不知道如何继续。
非常感谢!