XML-атрибут для указания pivotXType и pivotYType в ScaleAnimation

это может показаться глупым, но я не могу найти нигде, как указать pivotXType и pivotYType ScaleTAnimation.

Я знаю, как это сделать программно, но мне нужно указать его через XML (мне это нужно для перехода между действиями, используя метод overridePendingTransition)

вот код, который работает:

 Animation animation=new ScaleAnimation(1,0,1,0,ScaleAnimation.RELATIVE_TO_SELF,(float)0.5,ScaleAnimation.RELATIVE_TO_SELF,(float)0.5);  
  animation.setDuration(1000);

Heres XML, без атрибута XML im ищет

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXScale="1"
    android:toXScale="0"
    android:fromYScale="1"
    android:toYScale="0"
    android:pivotX="0.5"        
    android:pivotY="0.5"
    android:duration="2000"
    />

Я проверил документацию по http://developers.androidcn.com/reference/android/view/animation/ScaleAnimation.htmlно ответа не нашел. Спасибо.

2 ответов


надеюсь, никто даже не потрудился прочитать мой вопрос. Я делал ошибку при написании xml, вот правильный код для эффекта, который я хотел (масштабирование новой активности от 100% размера до 0% размера, прямо в середине экрана). Правильные значения для pivotX и pivotY-50% вместо 0,5.

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromXScale="1"
    android:toXScale="0"
    android:fromYScale="1"
    android:toYScale="0"
    android:pivotX="50%"        
    android:pivotY="50%"
    android:duration="600"
    />

Я знаю, что ответ уже опубликован, но я подумал, что напишу несколько слов объяснения. В XML-сводках можно задать три типа значений (например, с помощью value 50):

  • 50% - проценты; соответствует типу поворота Animation.RELATIVE_TO_SELF. 50% в основном означает, что он будет вращаться в середине представления.

  • 50%p - родительские проценты; соответствующие типу поворота Animation.RELATIVE_TO_PARENT. 50%p означает, что он будет вращаться в середине родительского представления.

  • 50 - абсолютный; соответствующий типу поворота Animation.ABSOLUTE. 50 означает поворот на 50 пиксели сверху / слева (зависит от типа pivot - y/x)