我正在使用片段和动画。我提出了这个:
slide_in_up.xml :
<?xml version="1.0" encoding="utf-8"?>
<set>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="y"
android:valueType="floatType"
android:valueFrom="600"
android:valueTo="0"
android:duration="500"/>
</set>
这是使用动画的地方:
public void showFirstFragment(View v) {
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.addToBackStack(null);
ft.setCustomAnimations(R.animator.slide_in_up, R.animator.slide_out_up);
ft.replace(R.id.fragmentContainer, firstFragment);
ft.commit();
}
它工作得很好:进入的片段从底部显示,而前一个片段向上消失。
我的问题是我的动画 XML 中的“vavlueFrom”标签有一个固定的尺寸(它设置为 600,因为我的片段占据了屏幕大小的一半,我正在考虑 1200 像素的分辨率)。使用这个固定尺寸,当我的屏幕分辨率小于 1200 像素时,我的片段显示有点晚,因为它从更下方开始(对不起,如果这句话是错误的 - 我是意大利人)。
如何以编程方式设置此维度?我想做类似的事情:获取屏幕分辨率-> 将“valueFrom”设置为 y 值的一半。
提前谢谢您的帮助!