語言

AnimationDrawable 類別

定義

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

[Android.Runtime.Register("android/graphics/drawable/AnimationDrawable", DoNotGenerateAcw=true)]
public class AnimationDrawable : Android.Graphics.Drawables.DrawableContainer, Android.Graphics.Drawables.IAnimatable, IDisposable, Java.Lang.IRunnable
[<Android.Runtime.Register("android/graphics/drawable/AnimationDrawable", DoNotGenerateAcw=true)>]
type AnimationDrawable = class
    inherit DrawableContainer
    interface IAnimatable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface IRunnable
繼承
屬性
實作

備註

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

建立逐框架動畫的最簡單方式是在 XML 檔案中定義動畫、放在 res/drawable/ 資料夾中,並將它設定為 View 物件的背景。 然後,呼叫 #start() 以執行動畫。

XML 中定義的 AnimationDrawable 是由單 <animation-list> 一元素和一系列巢狀 <item> 標記所組成。 每個項目都會定義動畫的框架。 請參閱以下範例。

spin_animation.xml res/drawable/ 資料夾中的檔案:

&lt;!-- Animation frames are wheel0.png through wheel5.png
                files inside the res/drawable/ folder --&gt;
            &lt;animation-list android:id=&quot;@+id/selected&quot; android:oneshot=&quot;false&quot;&gt;
               &lt;item android:drawable=&quot;@drawable/wheel0&quot; android:duration=&quot;50&quot; /&gt;
               &lt;item android:drawable=&quot;@drawable/wheel1&quot; android:duration=&quot;50&quot; /&gt;
               &lt;item android:drawable=&quot;@drawable/wheel2&quot; android:duration=&quot;50&quot; /&gt;
               &lt;item android:drawable=&quot;@drawable/wheel3&quot; android:duration=&quot;50&quot; /&gt;
               &lt;item android:drawable=&quot;@drawable/wheel4&quot; android:duration=&quot;50&quot; /&gt;
               &lt;item android:drawable=&quot;@drawable/wheel5&quot; android:duration=&quot;50&quot; /&gt;
            &lt;/animation-list&gt;

以下是要載入和播放此動畫的程序代碼。

// Load the ImageView that will host the animation and
            // set its background to our AnimationDrawable XML resource.
            ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image);
            img.setBackgroundResource(R.drawable.spin_animation);

            // Get the background, which has been compiled to an AnimationDrawable object.
            AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

            // Start the animation (looped playback by default).
            frameAnimation.start();

<div class=“special reference”><h3>Developer Guides</h3>

如需使用 AnimationDrawable建立動畫的詳細資訊,請參閱 Drawable 動畫 開發人員指南。

</div>

的 android.graphics.drawable.AnimationDrawableJava 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

建構函式

名稱 Description
AnimationDrawable()
AnimationDrawable(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

屬性

名稱 Description
Alpha

取得可繪製的目前Alpha值。

(繼承來源 Drawable)
AutoMirrored

指出當配置方向為 RTL 由右至左時,是否會自動鏡像此 Drawable。 -或- 設定當其版面配置方向為 RTL(由右至左)時,是否會自動鏡像此 Drawable。

(繼承來源 Drawable)
Bounds

傳回可繪製的界限 Rect。 -或- 指定繪製的周框。

(繼承來源 Drawable)
Callback

傳回附加至這個 Drawable 的目前 Callback 實作。

(繼承來源 Drawable)
ChangingConfigurations

傳回組態參數的遮罩,此可繪製參數可能會變更,因此需要重新建立它。 -或- 設定組態參數的遮罩,此可繪製參數可能會變更,需要重新建立它。

(繼承來源 Drawable)
Class

傳回這個 Object的運行時間類別。

(繼承來源 Object)
ColorFilter

傳回目前的色彩篩選條件,如果沒有設定,則 null 傳回 。

(繼承來源 Drawable)
Current (繼承來源 Drawable)
DirtyBounds

傳回可繪製的髒界限 Rect。

(繼承來源 Drawable)
Handle

基礎Android實例的句柄。

(繼承來源 Object)
HasFocusStateSpecified

指出這個可繪製專案是否至少有一個明確指定 android.R.attr#state_focused的狀態規格。

(繼承來源 Drawable)
IntrinsicHeight

傳回可繪製的內部高度。

(繼承來源 Drawable)
IntrinsicWidth

傳回可繪製的內建寬度。

(繼承來源 Drawable)
IsFilterBitmap

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 Drawable)
IsProjected

這個可繪製的要求投影。

(繼承來源 Drawable)
IsRunning

指出動畫目前是否正在執行。

IsStateful

指出這個可繪製專案是否會根據狀態變更其外觀。

(繼承來源 Drawable)
IsVisible (繼承來源 Drawable)
JniIdentityHashCode

取得由互通執行時指派給此 Java 對等端的身份雜湊碼。

(繼承來源 Object)
JniManagedPeerState

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 JavaObject)
JniPeerMembers

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

LayoutDirection

傳回這個 Drawable 的已解析版面配置方向。

(繼承來源 Drawable)
Level

擷取目前的層級。

(繼承來源 Drawable)
MinimumHeight

傳回這個 Drawable 建議的最小高度。

(繼承來源 Drawable)
MinimumWidth

傳回這個 Drawable 建議的最小寬度。

(繼承來源 Drawable)
NumberOfFrames
OneShot

設定動畫是否應該播放一次或重複。

Opacity

傳回這個 Drawable 的不透明度/透明度。

(繼承來源 DrawableContainer)
OpticalInsets

傳回內嵌此 Drawable 所建議的配置內嵌,以在版面配置期間搭配對齊作業使用。

(繼承來源 Drawable)
PeerReference

取得這個 Java 節點的 JNI 物件參考。

(繼承來源 Object)
ThresholdClass

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

TransparentRegion

會傳回 Region,代表完全透明的 Drawable 部分。

(繼承來源 Drawable)

方法

名稱 Description
AddFrame(Drawable, Int32)

將框架新增至動畫

ApplyTheme(Resources+Theme)

將指定的主題套用至這個 Drawable 及其子系。

(繼承來源 Drawable)
CanApplyTheme() (繼承來源 Drawable)
ClearColorFilter()

拿掉此可繪製的色彩篩選。

(繼承來源 Drawable)
Clone()

建立並傳回這個 對象的複本。

(繼承來源 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 JavaObject)
CopyBounds()

傳回新 Rect 中可繪製界限的複本。

(繼承來源 Drawable)
CopyBounds(Rect)

傳回指定之 Rect 中可繪製界限的複本(由呼叫端所配置)。

(繼承來源 Drawable)
Dispose()

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
Dispose(Boolean)

釋放該 Java 節點所持有的資源。

(繼承來源 Object)
DisposeUnlessReferenced()

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 JavaObject)
Draw(Canvas)

在範圍中繪製(透過 setBounds 設定)尊重選擇性效果,例如 Alpha(透過 setAlpha 設定)和色彩篩選(透過 setColorFilter 設定)。

(繼承來源 DrawableContainer)
Equals(Object)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 JavaObject)
Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
GetConstantState()

ConstantState傳回保留這個 Drawable 共享狀態的實例。

(繼承來源 Drawable)
GetDuration(Int32)
GetFrame(Int32)
GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
GetHotspotBounds(Rect)

填入 outRect 熱點界限。

(繼承來源 Drawable)
GetOutline(Outline)

呼叫 以取得可繪製的 ,以填入定義其繪圖區域的大綱。

(繼承來源 Drawable)
GetPadding(Rect)

傳回填補這個 Drawable 所建議的內嵌,以將內容放在可繪製界限內。

(繼承來源 Drawable)
GetState()

描述當前狀態,作為原始狀態的聯集,例如 android.R.attr#state_focused、 android.R.attr#state_selected、 等。

(繼承來源 Drawable)
Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme)

從 XML 資源擴充此 Drawable。

(繼承來源 Drawable)
Inflate(Resources, XmlReader, IAttributeSet)

從 XML 資源擴充此 Drawable。

(繼承來源 Drawable)
InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 Drawable)
InflateAsync(Resources, XmlReader, IAttributeSet)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 Drawable)
InvalidateDrawable(Drawable)

需要重新繪製繪製時呼叫。

(繼承來源 DrawableContainer)
InvalidateSelf()

使用目前的 Callback 實作來重繪此 Drawable。

(繼承來源 Drawable)
JavaFinalize()
已淘汰.

當垃圾收集決定不再參考物件時,垃圾收集行程在 物件上呼叫。

(繼承來源 Object)
JumpToCurrentState()

如果此 Drawable 會在狀態之間轉換動畫,請要求它立即跳至目前狀態,並略過任何作用中的動畫。

(繼承來源 Drawable)
Mutate()

使這個可繪製的可變。

(繼承來源 Drawable)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
OnBoundsChange(Rect)

如果您根據界限而有所不同,請覆寫子類別中的此專案以變更外觀。

(繼承來源 Drawable)
OnLayoutDirectionChanged(Int32)

當可繪製的已解析版面配置方向變更時呼叫。

(繼承來源 Drawable)
OnLevelChange(Int32)

如果您根據層級而有所不同,請覆寫子類別中的此專案以變更外觀。

(繼承來源 Drawable)
OnStateChange(Int32[])

如果您辨識指定的狀態,請覆寫子類別中的此專案以變更外觀。

(繼承來源 Drawable)
Run()

這個方法僅供實作之用,不應直接呼叫。

ScheduleDrawable(Drawable, Action, Int64)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 DrawableContainer)
ScheduleDrawable(Drawable, IRunnable, Int64)

Drawable 可以呼叫這個 來排程其動畫的下一個畫面。

(繼承來源 DrawableContainer)
ScheduleSelf(Action, Int64)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 Drawable)
ScheduleSelf(IRunnable, Int64)

使用目前的 Callback 實作,讓此 Drawable 排程。

(繼承來源 Drawable)
SelectDrawable(Int32)

設定目前依索引繪製的 。

(繼承來源 DrawableContainer)
SetAlpha(Int32)

指定可繪製的 Alpha 值。 0 表示完全透明,255 表示完全不透明。

(繼承來源 DrawableContainer)
SetBounds(Int32, Int32, Int32, Int32)

為 Drawable 指定周框。

(繼承來源 Drawable)
SetCallback(Drawable+ICallback)

將 Callback 對象系結至這個 Drawable。

(繼承來源 Drawable)
SetColorFilter(Color, PorterDuff+Mode)

指定色彩和 Porter-Duff 模式做為此可繪製的色彩篩選。

(繼承來源 Drawable)
SetColorFilter(ColorFilter)

指定可繪製的選擇性色彩篩選。

(繼承來源 DrawableContainer)
SetConstantState(DrawableContainer+DrawableContainerState) (繼承來源 DrawableContainer)
SetDither(Boolean)

設定為 true,在繪製到每個色彩元件少於 8 位的裝置時,可繪製的色彩。

(繼承來源 Drawable)
SetEnterFadeDuration(Int32)

當新的可繪製進入場景時,變更全域淡出持續時間。

(繼承來源 DrawableContainer)
SetExitFadeDuration(Int32)

當新的可繪製專案離開場景時,請變更全域淡出持續時間。

(繼承來源 DrawableContainer)
SetFilterBitmap(Boolean)

設定為 true,讓可繪製的篩選其點陣圖在縮放或旋轉時使用雙線性取樣。

(繼承來源 Drawable)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
SetHotspot(Single, Single)

指定可繪製的熱點位置。

(繼承來源 Drawable)
SetHotspotBounds(Int32, Int32, Int32, Int32)

如果作用點與可繪製界限不同,請設定作用點所限制的界限。

(繼承來源 Drawable)
SetLayoutDirection(LayoutDirection)

設定這個可繪製的版面配置方向。

(繼承來源 Drawable)
SetLevel(Int32)

指定可繪製的層級。

(繼承來源 Drawable)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 JavaObject)
SetState(Int32[])

指定可繪製的一組狀態。

(繼承來源 Drawable)
SetTint(Int32)

指定這個可繪製的色調色彩。

(繼承來源 Drawable)
SetTintBlendMode(BlendMode)

指定這個可繪製的色調混合模式。

(繼承來源 Drawable)
SetTintList(ColorStateList)

指定這個可繪製的色調色彩做為色彩狀態清單。

(繼承來源 Drawable)
SetTintMode(PorterDuff+Mode)

指定這個可繪製的色調混合模式。

(繼承來源 Drawable)
SetVisible(Boolean, Boolean)

設定此 Drawable 是否可見。

(繼承來源 Drawable)
Start()

視需要從第一個畫面開始動畫,迴圈。

Stop()

停止目前畫面格的動畫。

ToArray<T>()

從這個 Java 陣列包裝器建立一個受管理陣列。

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
UnregisterFromRuntime()

將此 Java 節點從互通執行時中取消註冊。

(繼承來源 Object)
UnscheduleDrawable(Drawable, Action)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 DrawableContainer)
UnscheduleDrawable(Drawable, IRunnable)

Drawable 可以呼叫這個 ,以取消先前使用 排程的 Drawable.ICallback動作。

(繼承來源 DrawableContainer)
UnscheduleSelf(Action)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 Drawable)
UnscheduleSelf(IRunnable)

使用目前的 Callback 實作讓此 Drawable 未排程。

(繼承來源 Drawable)
Wait()

讓目前線程等候直到喚醒為止,通常是藉由em <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)

明確介面實作

名稱 Description
IJavaPeerable.Disposed()

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 JavaObject)
IJavaPeerable.Finalized()

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

(繼承來源 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於