Android:如何以编程方式更改动画尺寸

Android:如何以编程方式更改动画尺寸,android,android-animation,Android,Android Animation,我正在使用片段和动画。我说的是: 在\u up.xml中滑动\u: <?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:val

我正在使用片段和动画。我说的是:

在\u up.xml中滑动\u:

<?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>
它工作得很好:输入的片段从底部向上显示,而前一个片段向上消失

我的问题是,我的动画XML中的“vavlueFrom”标记有一个固定的维度(它被设置为600,因为我的片段占据了屏幕的一半大小,我的分辨率是1200px)。当我的屏幕分辨率小于1200px时,我的片段显示得有点晚,因为它是从下开始的(对不起,如果这句话错了,我是意大利人)

如何以编程方式设置此维度?我想做一些类似的事情:获取屏幕分辨率->将“valueFrom”设置为y值的一半


提前感谢您的帮助

使用百分比而不是精确的y值

<?xml version="1.0" encoding="utf-8"?>
<set>
  <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
    android:propertyName="y" 
    android:valueFrom="80%"
    android:valueTo="0" 
    android:duration="500"/>
</set>


我也有类似的问题。你找到这个问题的答案了吗?没有,对不起!我刚刚创建了多个不同大小的动画,检查了屏幕的宽度和高度,并使用了最相似大小的动画…对于视图动画,您可以这样做:但前提是您不必坚持使用片段!也许这篇文章会有所帮助,看看吧!谢天谢地,这不起作用,编译器会抱怨使用分数类型。@Petter你想在哪一个android版本上实现它?我使用的是API14,但如果我没有错ObjectAnimator不使用分数类型(顺便说一句,你会抱怨),你需要自定义实现才能实现这个AFAIK,例如,使用分数(80%)无法与对象动画制作者配合使用。编译器抱怨,正如上面的评论者所指出的。
<?xml version="1.0" encoding="utf-8"?>
<set>
  <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
    android:propertyName="y" 
    android:valueFrom="80%"
    android:valueTo="0" 
    android:duration="500"/>
</set>