有没有办法将动画应用于视图的属性?目前,我所知道的唯一动画是将动画应用于整个视图。我想知道我是否可以将动画应用于属性(例如layout_width)
答案 0 :(得分:3)
您可以编辑动画以仅影响视图的某些部分。例如,我希望ViewFlipper
看起来像是在垂直翻转,所以我制作了out动画,将视图的y缩小到中间的0,动画中的y从中间增长y。这是他们的样子。
<强> shrink_to_middle.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:interpolator="@android:anim/linear_interpolator"
android:fromXScale="1.0"
android:toXScale="1.0"
android:fromYScale="1.0"
android:toYScale="0.0"
android:fillAfter="false"
android:duration="200" />
<translate
android:fromYDelta="0"
android:toYDelta="50%"
android:duration="200"/>
</set>
<强> grow_from_middle.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:interpolator="@android:anim/linear_interpolator"
android:fromXScale="1.0"
android:toXScale="1.0"
android:fromYScale="0.0"
android:toYScale="1.0"
android:fillAfter="false"
android:startOffset="200"
android:duration="200" />
<translate
android:fromYDelta="50%"
android:toYDelta="0"
android:startOffset="200"
android:duration="200"/>
</set>
答案 1 :(得分:0)
即使您只想将动画应用于视图的属性,您仍然需要将其设置为视图的动画。
<scale
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:fromXScale="1.0"
android:toXScale="0" />
此动画例如会更改视图的宽度。
您可以通过
设置动画yourView.setAnimation(AnimationUtils.loadAnimation(this, R.anim.animation_name));