2014-01-17 86 views
1

我在閱讀Android開發人員API指南,特別是關於View Animation的指南。缺失旋轉動畫屬性

本頁面的示例使用,除其他外,一個rotate元素:

<rotate 
     android:fromDegrees="0" 
     android:toDegrees="-45" 
     android:toYScale="0.0" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="700" 
     android:duration="400" /> 

其中一個標記是toYscale。我不明白的是它如何是一個有效的屬性,因爲它不包括在RotateAnimation課程或R.styleable中。

該屬性不應該出現在類引用中嗎? 除非我必須通過rotate元素檢查其他所有支持的屬性?

任何指針?

+1

我認爲這可能是一種類型。旋轉動畫中不需要toSYScale屬性。 –

回答

0

@W.K.S同意,這是最有可能從不管是誰製作的文檔,因爲一個錯字:

  • R.styleable屬性的全名是R.styleable.ScaleAnimation_toYScale

如果不是專門針對ScaleAnimation,它不會被命名爲這樣特別是因爲RotateAnimation延伸ScaleAnimation


public RotateAnimation(Context context, AttributeSet attrs) { 
    super(context, attrs); 

    TypedArray a = context.obtainStyledAttributes(attrs, 
      com.android.internal.R.styleable.RotateAnimation); 

    mFromDegrees = a.getFloat(
      com.android.internal.R.styleable.RotateAnimation_fromDegrees, 0.0f); 
    mToDegrees = a.getFloat(com.android.internal.R.styleable.RotateAnimation_toDegrees, 0.0f); 

    Description d = Description.parseValue(a.peekValue(
     com.android.internal.R.styleable.RotateAnimation_pivotX)); 
    mPivotXType = d.type; 
    mPivotXValue = d.value; 

    d = Description.parseValue(a.peekValue(
     com.android.internal.R.styleable.RotateAnimation_pivotY)); 
    mPivotYType = d.type; 
    mPivotYValue = d.value; 

    a.recycle(); 

    initializePivotPoint(); 
} 

如果有疑問,可以隨時檢查,看看是否android:toYScale=實際上做一些事情時用於<rotate>。文檔在其中有錯誤,畢竟它們是由人類產生的。

+1

感謝您的澄清。我也檢查了代碼,但我不確定,我不得不問。 – NewUserSO

+0

不客氣。 –

0

android:toYScale正在結束Y尺寸偏移量。

Read this(查看動畫的補間動畫部分)瞭解更多信息。