Bagikan melalui


Drawable Kelas

Definisi

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

[Android.Runtime.Register("android/graphics/drawable/Drawable", DoNotGenerateAcw=true)]
public abstract class Drawable : Java.Lang.Object
[<Android.Runtime.Register("android/graphics/drawable/Drawable", DoNotGenerateAcw=true)>]
type Drawable = class
    inherit Object
Warisan
Drawable
Turunan
Atribut

Keterangan

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar." Paling sering Anda akan berurusan dengan Drawable sebagai jenis sumber daya yang diambil untuk menggambar hal-hal ke layar; kelas Drawable menyediakan API generik untuk menangani sumber daya visual yang mendasar yang mungkin mengambil berbagai bentuk. android.view.ViewTidak seperti , Drawable tidak memiliki fasilitas apa pun untuk menerima peristiwa atau berinteraksi dengan pengguna.

Selain gambar sederhana, Drawable menyediakan sejumlah mekanisme generik bagi kliennya untuk berinteraksi dengan apa yang sedang digambar:

<ul><li> Metode #setBounds <var>harus</var> dipanggil untuk memberi tahu Drawable di mana itu digambar dan seberapa besar seharusnya. Semua Drawable harus menghormati ukuran yang diminta, seringkali hanya dengan menskalakan citra mereka. Klien dapat menemukan ukuran yang disukai untuk beberapa Drawables dengan #getIntrinsicHeight metode dan #getIntrinsicWidth .

<li> Metode ini #getPadding dapat kembali dari beberapa informasi Drawables tentang cara membingkai konten yang ditempatkan di dalamnya. Misalnya, Drawable yang dimaksudkan untuk menjadi bingkai untuk widget tombol perlu mengembalikan padding yang menempatkan label dengan benar di dalam dirinya sendiri.

<li> Metode ini #setState memungkinkan klien untuk memberi tahu Drawable di mana statusnya akan digambar, seperti "terfokus", "dipilih", dll. Beberapa gambar dapat mengubah citranya berdasarkan status yang dipilih.

<li> Metode ini #setLevel memungkinkan klien untuk menyediakan satu pengontrol berkelanjutan yang dapat memodifikasi Drawable ditampilkan, seperti tingkat baterai atau tingkat kemajuan. Beberapa drawable dapat memodifikasi citranya berdasarkan tingkat saat ini.

<li> A Drawable dapat melakukan animasi dengan memanggil kembali ke kliennya melalui Callback antarmuka. Semua klien harus mendukung antarmuka ini (melalui #setCallback) sehingga animasi akan berfungsi. Cara sederhana untuk melakukan ini adalah melalui fasilitas sistem seperti android.view.View#setBackground(Drawable) dan android.widget.ImageView. </Ul>

Meskipun biasanya tidak terlihat oleh aplikasi, Drawables dapat mengambil berbagai bentuk:

<ul><li><b>Bitmap</b>: gambar Drawable, PNG atau JPEG paling sederhana. <li><b>Nine Patch</b>: ekstensi untuk format PNG memungkinkannya menentukan informasi tentang cara meregangkannya dan menempatkan hal-hal di dalamnya. <li><b>Vector</b>: yang dapat digambar yang didefinisikan dalam file XML sebagai sekumpulan titik, garis, dan kurva bersama dengan informasi warna terkait. Jenis drawable ini dapat diskalakan tanpa kehilangan kualitas tampilan. <li><b>Shape</b>: berisi perintah gambar sederhana alih-alih bitmap mentah, memungkinkannya untuk mengubah ukuran lebih baik dalam beberapa kasus. <li><b>Layers</b>: senyawa yang dapat digambar, yang menggambar beberapa drawable yang mendasar di atas satu sama lain. <li><b>States</b>: senyawa yang dapat digambar yang memilih salah satu set drawable berdasarkan statusnya. <li><b>Levels</b>: senyawa yang dapat digambar yang memilih salah satu set drawable berdasarkan tingkatnya. <li><b>Scale</b>: senyawa yang dapat digambar dengan satu anak yang dapat digambar, yang ukuran keseluruhannya dimodifikasi berdasarkan tingkat saat ini. </Ul>

"Custom"><h3>Custom drawables</h3>

Semua versi Android memungkinkan kelas Drawable diperluas dan digunakan pada waktu proses sebagai pengganti kelas yang dapat digambar yang disediakan kerangka kerja. Mulai dari android.os.Build.VERSION_CODES#N API 24, kelas drawable kustom juga dapat digunakan dalam XML.

<Strong>Note:</strong> Custom drawable classes hanya dapat diakses dari dalam paket aplikasi Anda. Aplikasi lain tidak akan dapat memuatnya.

Minimal, kelas yang dapat digambar kustom harus menerapkan metode abstrak pada Drawable dan harus mengambil alih Drawable#draw(Canvas) metode untuk menggambar konten.

Kelas drawable kustom dapat digunakan dalam XML dengan berbagai cara: <ul><li> Menggunakan nama kelas yang sepenuhnya memenuhi syarat sebagai nama elemen XML. Untuk metode ini, kelas yang dapat digambar kustom harus merupakan kelas tingkat atas publik.

&lt;com.myapp.MyCustomDrawable xmlns:android="http://schemas.android.com/apk/res/android"
                android:color="#ffff0000" /&gt;

</li li>>< Menggunakan <em>drawable</em> sebagai nama elemen XML dan menentukan nama kelas yang sepenuhnya memenuhi syarat dari <atribut em>class</em.> Metode ini dapat digunakan untuk kelas tingkat atas publik dan kelas dalam statis publik.

&lt;drawable xmlns:android="http://schemas.android.com/apk/res/android"
                class="com.myapp.MyTopLevelClass$InnerCustomDrawable"
                android:color="#ffff0000" /&gt;

</li></ul>

<div class="special reference"><h3>Developer Guides</h3>

Untuk informasi selengkapnya tentang cara menggunakan drawable, baca panduan pengembang Canvas dan Drawables . Untuk informasi dan contoh pembuatan sumber daya yang dapat digambar (file XML atau bitmap yang dapat dimuat dalam kode), baca dokumen Sumber Daya yang Dapat Digambar.

</Div>

Dokumentasi Java untuk android.graphics.drawable.Drawable.

Bagian halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Proyek Sumber Terbuka Android dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Atribusi Creative Commons 2.5.

Konstruktor

Drawable()

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

Drawable(IntPtr, JniHandleOwnership)

Konstruktor yang digunakan saat membuat representasi terkelola objek JNI; dipanggil oleh runtime.

Properti

Alpha

Mendapatkan nilai alfa saat ini untuk yang dapat digambar.

AutoMirrored

Memberi tahu apakah Drawable ini akan secara otomatis dicerminkan ketika arah tata letaknya adalah RTL kanan-ke-kiri. -or- Atur apakah Drawable ini secara otomatis dicerminkan ketika arah tata letaknya adalah RTL (kanan-ke-kiri).

Bounds

Mengembalikan Rect batas yang dapat digambar. -or- Tentukan persegi panjang pembatas untuk Drawable.

Callback

Mengembalikan implementasi saat ini Callback yang dilampirkan ke Drawable ini.

ChangingConfigurations

Mengembalikan mask parameter konfigurasi yang dapat digambar ini dapat berubah, mengharuskan dibuat ulang. -or- Atur mask parameter konfigurasi yang dapat digambar ini dapat berubah, mengharuskan dibuat ulang.

Class

Mengembalikan kelas runtime dari .Object

(Diperoleh dari Object)
ColorFilter

Mengembalikan filter warna saat ini, atau null jika tidak ada yang diatur.

Current

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

DirtyBounds

Kembalikan reksi batas kotor yang dapat digambar.

Handle

Handel ke instans Android yang mendasar.

(Diperoleh dari Object)
HasFocusStateSpecified

Menunjukkan apakah drawable ini memiliki setidaknya satu spesifikasi status yang secara eksplisit menentukan android.R.attr#state_focused.

IntrinsicHeight

Mengembalikan tinggi intrinsik yang dapat digambar.

IntrinsicWidth

Mengembalikan lebar intrinsik yang dapat digambar.

IsFilterBitmap

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

IsProjected

Apakah proyeksi permintaan yang dapat digambar ini.

IsStateful

Menunjukkan apakah drawable ini akan mengubah penampilannya berdasarkan status.

IsVisible

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

JniIdentityHashCode

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
JniPeerMembers

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

LayoutDirection

Mengembalikan arah tata letak yang diselesaikan untuk Drawable ini.

Level

Ambil tingkat saat ini.

MinimumHeight

Mengembalikan tinggi minimum yang disarankan oleh Drawable ini.

MinimumWidth

Mengembalikan lebar minimum yang disarankan oleh Drawable ini.

Opacity

Mengembalikan opacity/transparansi drawable ini.

OpticalInsets

Pengembalian inset inset tata letak yang disarankan oleh Drawable ini untuk digunakan dengan operasi perataan selama tata letak.

PeerReference

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
ThresholdClass

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

ThresholdType

API ini mendukung infrastruktur Mono untuk Android dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

TransparentRegion

Mengembalikan Wilayah yang mewakili bagian dari Drawable yang sepenuhnya transparan.

Metode

ApplyTheme(Resources+Theme)

Menerapkan tema yang ditentukan ke Drawable ini dan turunannya.

CanApplyTheme()

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

ClearColorFilter()

Menghapus filter warna untuk yang dapat digambar ini.

Clone()

Membuat dan mengembalikan salinan objek ini.

(Diperoleh dari Object)
CopyBounds()

Mengembalikan salinan batas yang dapat digambar di Rect baru.

CopyBounds(Rect)

Mengembalikan salinan batas yang dapat digambar dalam Rect yang ditentukan (dialokasikan oleh pemanggil).

CreateFromPath(String)

Buat yang dapat digambar dari nama jalur file.

CreateFromPathAsync(String)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

CreateFromResourceStream(Resources, TypedValue, Stream, String, BitmapFactory+Options)

Buat yang dapat digambar dari aliran input, menggunakan sumber daya dan nilai yang diberikan untuk menentukan informasi kepadatan.

CreateFromResourceStream(Resources, TypedValue, Stream, String)

Buat yang dapat digambar dari aliran input, menggunakan sumber daya dan nilai yang diberikan untuk menentukan informasi kepadatan.

CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String, BitmapFactory+Options)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

CreateFromStream(Stream, String)

Membuat yang dapat digambar dari aliran input

CreateFromStreamAsync(Stream, String)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

CreateFromXml(Resources, XmlReader, Resources+Theme)

Buat yang dapat digambar dari dokumen XML.

CreateFromXml(Resources, XmlReader)

Buat yang dapat digambar dari dokumen XML.

CreateFromXmlAsync(Resources, XmlReader, Resources+Theme)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

CreateFromXmlAsync(Resources, XmlReader)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

CreateFromXmlInner(Resources, XmlReader, IAttributeSet, Resources+Theme)

Buat dari dalam dokumen XML.

CreateFromXmlInner(Resources, XmlReader, IAttributeSet)

Buat dari dalam dokumen XML.

Dispose()

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
Dispose(Boolean)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
Draw(Canvas)

Gambar dalam batasnya (diatur melalui setBounds) yang menghormati efek opsional seperti alfa (diatur melalui setAlpha) dan filter warna (diatur melalui setColorFilter).

Equals(Object)

Menunjukkan apakah beberapa objek lain "sama dengan" yang satu ini.

(Diperoleh dari Object)
GetConstantState()

ConstantState Mengembalikan instans yang menyimpan status bersama dari Drawable ini.

GetHashCode()

Mengembalikan nilai kode hash untuk objek .

(Diperoleh dari Object)
GetHotspotBounds(Rect)

Diisi outRect dengan batas hotspot.

GetOutline(Outline)

Dipanggil untuk mendapatkan gambar untuk mengisi Kerangka yang mendefinisikan area gambarnya.

GetPadding(Rect)

Kembali dalam padding inset yang disarankan oleh Drawable ini untuk menempatkan konten di dalam batas yang dapat digambar.

GetState()

Menjelaskan status saat ini, sebagai serikat status primitif, seperti android.R.attr#state_focused, , android.R.attr#state_selecteddll.

Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme)

Lampirkan Drawable ini dari sumber daya XML.

Inflate(Resources, XmlReader, IAttributeSet)

Lampirkan Drawable ini dari sumber daya XML.

InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

InflateAsync(Resources, XmlReader, IAttributeSet)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

InvalidateSelf()

Gunakan implementasi saat ini Callback untuk membuat gambar ulang Yang Dapat Digambar ini.

JavaFinalize()

Dipanggil oleh pengumpul sampah pada objek ketika pengumpulan sampah menentukan bahwa tidak ada lagi referensi ke objek.

(Diperoleh dari Object)
JumpToCurrentState()

Jika Drawable ini melakukan transisi animasi antar status, minta agar segera melompat ke status saat ini dan melewati animasi aktif apa pun.

Mutate()

Buat ini dapat diubah.

Notify()

Membangunkan satu utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
NotifyAll()

Membangunkan semua utas yang menunggu monitor objek ini.

(Diperoleh dari Object)
OnBoundsChange(Rect)

Ambil alih ini di subkelas Anda untuk mengubah tampilan jika Anda bervariasi berdasarkan batas.

OnLayoutDirectionChanged(Int32)

Dipanggil saat arah tata letak yang diselesaikan yang dapat digambar berubah.

OnLevelChange(Int32)

Ambil alih ini di subkelas Anda untuk mengubah tampilan jika Anda bervariasi berdasarkan tingkat.

OnStateChange(Int32[])

Ambil alih ini di subkelas Anda untuk mengubah tampilan jika Anda mengenali status yang ditentukan.

ResolveOpacity(Int32, Int32)

Mengembalikan nilai opasitas yang sesuai untuk dua opacities sumber.

ScheduleSelf(Action, Int64)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

ScheduleSelf(IRunnable, Int64)

Gunakan implementasi saat ini Callback untuk menjadwalkan Drawable ini.

SetAlpha(Int32)

Tentukan nilai alfa untuk yang dapat digambar.

SetBounds(Int32, Int32, Int32, Int32)

Tentukan persegi panjang pembatas untuk Drawable.

SetCallback(Drawable+ICallback)

Ikat Callback objek ke Drawable ini.

SetColorFilter(Color, PorterDuff+Mode)

Tentukan warna dan mode Porter-Duff untuk menjadi filter warna untuk yang dapat digambar ini.

SetColorFilter(ColorFilter)

Tentukan filter warna opsional untuk yang dapat digambar.

SetDither(Boolean)

Atur ke true agar warnanya dapat digambar ketika digambar ke perangkat dengan kurang dari 8-bit per komponen warna.

SetFilterBitmap(Boolean)

Atur ke true agar filter yang dapat digambar bitmapnya dengan pengambilan sampel bilinear saat diskalakan atau diputar.

SetHandle(IntPtr, JniHandleOwnership)

Handle Mengatur properti.

(Diperoleh dari Object)
SetHotspot(Single, Single)

Menentukan lokasi hotspot dalam yang dapat digambar.

SetHotspotBounds(Int32, Int32, Int32, Int32)

Mengatur batas di mana hotspot dibatasi, jika harus berbeda dari batas yang dapat digambar.

SetLayoutDirection(LayoutDirection)

Atur arah tata letak untuk gambar ini.

SetLevel(Int32)

Tentukan tingkat untuk yang dapat digambar.

SetState(Int32[])

Tentukan sekumpulan status untuk yang dapat digambar.

SetTint(Int32)

Menentukan warna warna untuk yang dapat digambar ini.

SetTintBlendMode(BlendMode)

Menentukan mode blending tint untuk yang dapat digambar ini.

SetTintList(ColorStateList)

Menentukan warna warna untuk yang dapat digambar ini sebagai daftar status warna.

SetTintMode(PorterDuff+Mode)

Menentukan mode blending tint untuk yang dapat digambar ini.

SetVisible(Boolean, Boolean)

Atur apakah Drawable ini terlihat.

ToArray<T>()

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
ToString()

Mengembalikan representasi string objek.

(Diperoleh dari Object)
UnregisterFromRuntime()

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
UnscheduleSelf(Action)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

UnscheduleSelf(IRunnable)

Gunakan implementasi saat ini Callback untuk membuat Drawable ini tidak terjadwal.

Wait()

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <diberitahu></em> atau <em>terganggu</em>.

(Diperoleh dari Object)
Wait(Int64, Int32)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu.

(Diperoleh dari Object)
Wait(Int64)

Menyebabkan utas saat ini menunggu sampai terbangun, biasanya dengan <>diberitahu</em> atau <em>terganggu</em>, atau sampai sejumlah real time telah berlalu.

(Diperoleh dari Object)

Implementasi Antarmuka Eksplisit

IJavaPeerable.Disposed()

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
IJavaPeerable.DisposeUnlessReferenced()

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
IJavaPeerable.Finalized()

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
IJavaPeerable.JniManagedPeerState

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

(Diperoleh dari Object)

Metode Ekstensi

JavaCast<TResult>(IJavaObject)

Melakukan konversi jenis yang diperiksa runtime Bahasa Umum Android.

JavaCast<TResult>(IJavaObject)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

GetJniTypeName(IJavaPeerable)

Drawable adalah abstraksi umum untuk "sesuatu yang dapat digambar.

Berlaku untuk