2013-06-25 5 views
10
<objectAnimator 
     android:propertyName="string" 
     android:duration="int" 
     android:valueFrom="float | int | color" 
     android:valueTo="float | int | color" 
     android:startOffset="int" 
     android:repeatCount="int" 
     android:repeatMode=["repeat" | "reverse"] 
     android:valueType=["intType" | "floatType"]/> 

Хорошо, я изучаю анимацию в Android. Я получил его от Google Docs Разработчик двух атрибутов, которые на самом деле я не в состоянии понять, являютсяAndroid Animation

android:propertyName="string" 
android:valueType=["intType" | "floatType"] 

Некоторые значения имеют смысл "fade", "rotation", "alpha" Но как насчет других, как endYear, firstDayOfWeek

И мне не удалось найти какой-либо детальный документация об этих или может быть вероятность того, что я не понимая, что различные учебники и Google Docs пытается передать ..

**

Мои сомнения, где я могу получить все возможные значения "propertyName" И что "valueType" я имею в виду, что на самом деле это сделать , как на самом деле это влияет на анимацию

**

Я следующий this Tutorial и пытался играть со свойствами, чтобы иметь лучшее понимание.

Например, приведенный скриншот показывает так много возможностей для propertyName, но я не знаю, как они имеют смысл.

enter image description here

Более propertyName принимает «х» и «у», как его значения, но они не приходят в окне.

В случае ValueType если я изменю "floatType" к "intType" в приведенном ниже фрагменте кода упоминанием учебника для колеса

<objectAnimator 
    android:duration="3000" 
     android:propertyName="rotation" 
     android:repeatCount="infinite" 
     android:repeatMode="reverse" 
     android:valueTo="180" 
     android:valueType="floatType" /> 

Он перестает анимировать .. ??????

Может ли один объяснить этот вопрос или источник так, что я могу понять это ..

Это то, что объясняется в Google docs

ПРИМЕЧАНИЕ: - Я пытаюсь анимации для первого время не только с андроидом, но и в моей жизни ...

ответ

11

Параметр propertyName может быть любым свойством, определенным классом целевой анимации. Например, если объект, который вы анимируете, предлагает метод getFoo() и setFoo(), тогда есть свойство «foo», которое вы можете оживить.

Очень простой пример: виды getAlpha() и методы setAlpha(). Они определили вместе свойство "alpha", которое можно анимировать для создания эффектов замирания

Это также означает, что вы можете создавать свои собственные объекты в своих пользовательских представлениях. Все, что вам нужно сделать, это создать два общедоступных метода: геттер и сеттер.

Вы можете посмотреть на этой странице для получения дополнительной информации: http://developer.android.com/guide/topics/graphics/prop-animation.html#object-animator

+0

Хорошо, теперь я получил лучшее понимание концепции, лежащей за ней. Это означает, что когда я пишу 'android: propertyName =" x "' он ищет getX(), который может быть предварительно определен где-то в Source, но когда I wirte 'android: propertyName =" z "' он вызывает ** ошибку ** 'Метод setZ() с типом int не найден в целевом классе класса android.widget.ImageView', это означает, что если я буду определять' getZ() 'on мой собственный, тогда он начнет собирать его автоматически .. не так ли ??? Но когда я посмотрел исходный код 'android.widget.ImageView', я не могу видеть даже что-то вроде' setX() ', хотя он принимает' 'x" 'как propertyname. – DeltaCap

+3

@AbhinavRathore вы можете не смотреть на правильный файл/версию исходного кода. Метод ['setX()') (http://developer.android.com/reference/android/view/View.html#setX (float)) добавлен в класс [android.view.View] (https: //android.googlesource.com/platform/frameworks/base/+/master/core/java/android/view/View.java) в [API 11 (Honeycomb)] (http://developer.android.com/sdk /api_diff/11/changes.html). – Joe

+1

@ Joe хм, ты поймал это правильно Я искал https://github.com/android/platform_frameworks_base/blob/master/core/java/android/widget/ImageView.java , поскольку я применял свойства анимации к 'ImageView' и в соответствии с порожденной ошибкой 'метод, не найденный на android.widget.ImageView', я перепрыгнул в его исходный код и стал более смущенным ... Ваша ссылка полезна для того, чтобы выявить больше смысла из всего этого. :) – DeltaCap

8

для сот и выше доступных из них (по this website) являются:

  • translationX
  • translationY
  • вращение
  • rotationX
  • вращениеY
  • Scalex
  • ScaleY
  • pivotX
  • pivotY
  • х
  • у
  • альфа

как упоминалось выше, вы также можете создавать свои собственные свойства, используя получить & набор. Интересно, имеют ли новые версии Android больше встроенных свойств.

Вы также можете протестировать их в демонстрациях API в библиотеке nineOldAndroids и на one of samsung samples.