2016-03-29 2 views

ответ

0

Я думаю, что отрицательные значения для scaleX или scaleY приводят к зеркалированию изображения. Если это ваш случай, вы можете оживить масштаб от 1 до -1. Это то, что тебе надо?

0

Да, вы правы. Это можно сделать так, но у меня есть некоторые проблемы, чередующие положительные и отрицательные значения. Посмотрите на это:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
    android:shareInterpolator="false" > 

<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="0" --> 
<!--   android:startOffset="0" --> 
<!--   android:toAlpha="1" /> --> 

    <scale 
     android:duration="400" 
     android:fromXScale="0" 
     android:fromYScale="0" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:toXScale="0.4" 
     android:toYScale="0.4" /> 

<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="1" --> 
<!--   android:startOffset="200" --> 
<!--   android:toAlpha="0" /> --> 
<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="0" --> 
<!--   android:startOffset="400" --> 
<!--   android:toAlpha="1" /> --> 

    <scale 
     android:duration="400" 
     android:fromXScale="-0.4" 
     android:fromYScale="0.4" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="400" 
     android:toXScale="-0.8" 
     android:toYScale="0.8" /> 

<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="1" --> 
<!--   android:startOffset="600" --> 
<!--   android:toAlpha="0" /> --> 
<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="0" --> 
<!--   android:startOffset="800" --> 
<!--   android:toAlpha="1" /> --> 

    <scale 
     android:duration="400" 
     android:fromXScale="0.8" 
     android:fromYScale="0.8" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="800" 
     android:toXScale="1.2" 
     android:toYScale="1.2" /> 

<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="1" --> 
<!--   android:startOffset="1000" --> 
<!--   android:toAlpha="0" /> --> 
<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="0" --> 
<!--   android:startOffset="1200" --> 
<!--   android:toAlpha="1" /> --> 

    <scale 
     android:duration="400" 
     android:fromXScale="-1.2" 
     android:fromYScale="1.2" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="1200" 
     android:toXScale="-1.6" 
     android:toYScale="1.6" /> 

<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="1" --> 
<!--   android:startOffset="2400" --> 
<!--   android:toAlpha="0" /> --> 

</set> 

Это должно генерировать изображение, которое растет и переворачивается несколько раз ... но оно не работает. Он показывает только изображение, которое растет несколько раз ... но без отражения изображения!

Что я делаю неправильно?

EDITED ----

Наконец, я нашел способ заставить его работать. Я делаю переворот и изменение размера в двух частях. Но я не могу добавить больше изменений, потому что он ничего не показывал ... попытаться раскомментировать блоки комментариев и рассказать мне, почему он работает таким образом ...

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
    android:shareInterpolator="false"> 

    <alpha 
     android:duration="200" 
     android:fromAlpha="0" 
     android:startOffset="0" 
     android:toAlpha="1" /> 

    <scale 
     android:duration="400" 
     android:fromXScale="0" 
     android:fromYScale="0" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:toXScale="0.4" 
     android:toYScale="0.4" /> 


    <scale 
     android:duration="1" 
     android:fromXScale="0.4" 
     android:fromYScale="0.4" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="400" 
     android:toXScale="-0.4" 
     android:toYScale="0.4" /> 
     <scale 
     android:duration="399" 
     android:fromXScale="-0.4" 
     android:fromYScale="0.4" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="401" 
     android:toXScale="-0.8" 
     android:toYScale="0.8" /> 


     <scale 
     android:duration="1" 
     android:fromXScale="-0.8" 
     android:fromYScale="0.8" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="800" 
     android:toXScale="0.8" 
     android:toYScale="0.8"/> 
       <scale 
     android:duration="399" 
     android:fromXScale="0.8" 
     android:fromYScale="0.8" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="801" 
     android:toXScale="1.2" 
     android:toYScale="1.2" /> 


<scale 
     android:duration="1" 
     android:fromXScale="1.2" 
     android:fromYScale="1.2" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="1200" 
     android:toXScale="-1.2" 
     android:toYScale="1.2"/> 
<scale 
     android:duration="399" 
     android:fromXScale="-1.2" 
     android:fromYScale="1.2" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="1201" 
     android:toXScale="-1.6" 
     android:toYScale="1.6" /> 


<scale 
     android:duration="1" 
     android:fromXScale="-1.6" 
     android:fromYScale="1.6" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="1600" 
     android:toXScale="1.6" 
     android:toYScale="1.6"/> 
<scale 
     android:duration="399" 
     android:fromXScale="1.6" 
     android:fromYScale="1.6" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="1601" 
     android:toXScale="2" 
     android:toYScale="2" /> 


<scale 
     android:duration="1" 
     android:fromXScale="2" 
     android:fromYScale="2" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="2000" 
     android:toXScale="-2" 
     android:toYScale="2"/> 
<scale 
     android:duration="399" 
     android:fromXScale="-2" 
     android:fromYScale="2" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="2001" 
     android:toXScale="-2.4" 
     android:toYScale="2.4" /> 


<!-- <scale --> 
<!--   android:duration="1" --> 
<!--   android:fromXScale="-2.4" --> 
<!--   android:fromYScale="2.4" --> 
<!--   android:pivotX="50%" --> 
<!--   android:pivotY="50%" --> 
<!--   android:startOffset="2400" --> 
<!--   android:toXScale="2.4" --> 
<!--   android:toYScale="2.4" /> --> 
<!-- <scale --> 
<!--   android:duration="399" --> 
<!--   android:fromXScale="2.4" --> 
<!--   android:fromYScale="2.4" --> 
<!--   android:pivotX="50%" --> 
<!--   android:pivotY="50%" --> 
<!--   android:startOffset="2401" --> 
<!--   android:toXScale="2.8" --> 
<!--   android:toYScale="2.8" /> --> 


<!-- <scale --> 
<!--   android:duration="1" --> 
<!--   android:fromXScale="2.8" --> 
<!--   android:fromYScale="2.8" --> 
<!--   android:pivotX="50%" --> 
<!--   android:pivotY="50%" --> 
<!--   android:startOffset="2800" --> 
<!--   android:toXScale="-2.8" --> 
<!--   android:toYScale="2.8" /> --> 
<!-- <scale --> 
<!--   android:duration="399" --> 
<!--   android:fromXScale="-2.8" --> 
<!--   android:fromYScale="2.8" --> 
<!--   android:pivotX="50%" --> 
<!--   android:pivotY="50%" --> 
<!--   android:startOffset="2801" --> 
<!--   android:toXScale="-3.2" --> 
<!--   android:toYScale="3.2" /> --> 


    <alpha 
     android:duration="200" 
     android:fromAlpha="1" 
     android:startOffset="2400" 
     android:toAlpha="0" /> 

</set> 
Смежные вопросы