Drawable Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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.View
Tidak 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.
<com.myapp.MyCustomDrawable xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#ffff0000" />
</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.
<drawable xmlns:android="http://schemas.android.com/apk/res/android"
class="com.myapp.MyTopLevelClass$InnerCustomDrawable"
android:color="#ffff0000" />
</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 |
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 . |
ColorFilter |
Mengembalikan filter warna saat ini, atau |
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 |
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() |
|
GetHashCode() |
Mengembalikan nilai kode hash untuk objek . (Diperoleh dari Object) |
GetHotspotBounds(Rect) |
Diisi |
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 |
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 |
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 |
SetAlpha(Int32) |
Tentukan nilai alfa untuk yang dapat digambar. |
SetBounds(Int32, Int32, Int32, Int32) |
Tentukan persegi panjang pembatas untuk Drawable. |
SetCallback(Drawable+ICallback) |
Ikat |
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 |
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. |