AnimationDrawable 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
用來建立逐框架動畫的物件,由一系列 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/ 資料夾中的檔案:
<!-- Animation frames are wheel0.png through wheel5.png
files inside the res/drawable/ folder -->
<animation-list android:id="@+id/selected" android:oneshot="false">
<item android:drawable="@drawable/wheel0" android:duration="50" />
<item android:drawable="@drawable/wheel1" android:duration="50" />
<item android:drawable="@drawable/wheel2" android:duration="50" />
<item android:drawable="@drawable/wheel3" android:duration="50" />
<item android:drawable="@drawable/wheel4" android:duration="50" />
<item android:drawable="@drawable/wheel5" android:duration="50" />
</animation-list>
以下是要載入和播放此動畫的程序代碼。
// 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 的目前 |
| ChangingConfigurations |
傳回組態參數的遮罩,此可繪製參數可能會變更,因此需要重新建立它。 -或- 設定組態參數的遮罩,此可繪製參數可能會變更,需要重新建立它。 (繼承來源 Drawable) |
| Class |
傳回這個 |
| ColorFilter |
傳回目前的色彩篩選條件,如果沒有設定,則 |
| Current | (繼承來源 Drawable) |
| DirtyBounds |
傳回可繪製的髒界限 Rect。 (繼承來源 Drawable) |
| Handle |
基礎Android實例的句柄。 (繼承來源 Object) |
| HasFocusStateSpecified |
指出這個可繪製專案是否至少有一個明確指定 |
| 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() |
|
| GetDuration(Int32) | |
| GetFrame(Int32) | |
| GetHashCode() |
傳回此物件的雜湊碼值。 (繼承來源 Object) |
| GetHotspotBounds(Rect) |
填入 |
| GetOutline(Outline) |
呼叫 以取得可繪製的 ,以填入定義其繪圖區域的大綱。 (繼承來源 Drawable) |
| GetPadding(Rect) |
傳回填補這個 Drawable 所建議的內嵌,以將內容放在可繪製界限內。 (繼承來源 Drawable) |
| GetState() |
描述當前狀態,作為原始狀態的聯集,例如 |
| 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() |
使用目前的 |
| 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) |
使用目前的 |
| SelectDrawable(Int32) |
設定目前依索引繪製的 。 (繼承來源 DrawableContainer) |
| SetAlpha(Int32) |
指定可繪製的 Alpha 值。 0 表示完全透明,255 表示完全不透明。 (繼承來源 DrawableContainer) |
| SetBounds(Int32, Int32, Int32, Int32) |
為 Drawable 指定周框。 (繼承來源 Drawable) |
| SetCallback(Drawable+ICallback) |
將 |
| 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) |
使用目前的 |
| 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) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
| JavaCast<TResult>(IJavaObject) |
用來建立逐框架動畫的物件,由一系列 Drawable 物件所定義,可用來做為 View 物件的背景。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |