андроид анимация собственности - PullRequest
1 голос
/ 06 июля 2010

есть ли способ применить анимацию к свойству вида?в настоящее время единственная известная мне анимация - это применение анимации ко всему виду.мне интересно, могу ли я применить анимацию к свойству (например, layout_width)

Ответы [ 2 ]

3 голосов
/ 06 июля 2010

Вы можете редактировать анимацию так, чтобы она затрагивала только определенные части изображения.Например, я хотел, чтобы ViewFlipper выглядело так, как будто оно переворачивается по вертикали, поэтому я сделал анимацию out, чтобы уменьшить y вида до 0 в середине, а анимация in увеличила 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>
0 голосов
/ 06 июля 2010

Даже если вы хотите применить анимацию только к свойству вида, вы все равно должны установить его как анимацию вида.

<scale 
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromXScale="1.0" 
    android:toXScale="0" />

Эта анимация, например, изменяет ширину вашего вида.

Вы можете установить анимацию с помощью

yourView.setAnimation(AnimationUtils.loadAnimation(this, R.anim.animation_name));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...