Drawable Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Рисование — это общая абстракция для "чего-то, что можно нарисовать.
[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
- Наследование
- Производный
- Атрибуты
Комментарии
Рисование — это общая абстракция для "чего-то, что может быть нарисовано". Чаще всего вы будете иметь дело с Drawable в качестве типа ресурса, полученного для рисования вещей на экране; Класс Drawable предоставляет универсальный API для работы с базовым визуальным ресурсом, который может принимать различные формы. android.view.View
В отличие от объекта, в приложении Drawable нет средств для получения событий или взаимодействия с пользователем.
Помимо простого рисования, Drawable предоставляет ряд универсальных механизмов для взаимодействия с нарисованным клиентом:
<ul><li> Метод #setBounds
<var>должен< или var> вызываться, чтобы узнать, где он рисуется, и насколько большой он должен быть. Все рисуемые элементы должны соблюдать запрошенный размер, часто просто масштабируя их изображения. Клиент может найти предпочтительный размер для некоторых рисуемых элементов с #getIntrinsicHeight
помощью методов и #getIntrinsicWidth
методов.
<#getPadding
li> Метод может возвращать некоторые сведения о том, как кадрировать содержимое, размещенное внутри них. Например, для мини-приложения кнопки необходимо вернуть отрисовку, которая правильно помещает метку внутри себя.
<> #setState
Метод li позволяет клиенту сообщить ему о том, в каком состоянии он должен быть нарисован, например "фокус", "выбран" и т. д. Некоторые рисуемые могут изменять образы на основе выбранного состояния.
<Li> Метод #setLevel
позволяет клиенту предоставлять один непрерывный контроллер, который может изменить рисуемый объект, отображается, например уровень заряда батареи или уровень хода выполнения. Некоторые рисуемые могут изменять образы на основе текущего уровня.
<li> Рисование может выполнять анимацию, вызывая клиент Callback
через интерфейс. Все клиенты должны поддерживать этот интерфейс (через #setCallback
), чтобы анимации работали. Простой способ сделать это через системные средства, такие как android.view.View#setBackground(Drawable)
и android.widget.ImageView
. </ul>
Хотя обычно не видно приложению, рисование может принимать различные формы:
<ul><li><b>Bitmap</b>: самый простой рисуемый, PNG или JPEG-изображение. <li><b>Nine Patch</b>: расширение в формате PNG позволяет указать сведения о том, как растянуть его и поместить внутри него. <li><b Vector</b>>: рисование, определенное в XML-файле в виде набора точек, линий и кривых, а также связанных с ней сведений о цвете. Этот тип рисования можно масштабировать без потери качества отображения. <li><b Shape</b>>: содержит простые команды рисования вместо необработанного растрового изображения, что позволяет лучше изменять размер в некоторых случаях. <li><b Layers</b>>: составной рисуемый объект, который рисует несколько базовых рисуемых элементов на вершине друг друга. <li><b State</b>>: составной рисуемый объект, который выбирает один из наборов рисуемых объектов на основе его состояния. <li><b Levels</b>>: составной рисуемый объект, который выбирает один из наборов рисуемых объектов на основе его уровня. <li><b Scale</b>>: составной рисуемый с одним дочерним рисованием, общий размер которого изменяется на основе текущего уровня. </ul>
"Custom"><h3 Custom Drawables</h3>>
Все версии Android позволяют расширить и использовать класс Drawable во время выполнения вместо классов, предоставляемых платформой. android.os.Build.VERSION_CODES#N API 24
Начиная с , пользовательские классы рисования также могут использоваться в XML.
<Strong>Note:</strong> Custom Drawable classes are onlyable from your application package. Другие приложения не смогут загружать их.
Как минимум, пользовательские классы, доступные для рисования, должны реализовывать абстрактные методы в Drawable и переопределять метод для рисования содержимого Drawable#draw(Canvas)
.
Пользовательские классы рисования могут использоваться в XML несколькими способами: <ul><li> с помощью полного имени класса в качестве имени XML-элемента. Для этого метода настраиваемый класс, доступный для рисования, должен быть общедоступным классом верхнего уровня.
<com.myapp.MyCustomDrawable xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#ffff0000" />
</li li>>< С помощью <em>drawable</em> в качестве имени XML-элемента и указания полного имени класса из атрибута <em>/<em.> Этот метод может использоваться как для общедоступных классов верхнего уровня, так и для общедоступных статических внутренних классов.
<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>>
Дополнительные сведения об использовании рисования см. в руководстве разработчика Canvas и Drawables . Сведения и примеры создания рисуемых ресурсов (XML-файлы или растровые файлы, которые можно загрузить в коде), см. в документе "Ресурсы, доступные для рисования".
</div>
Документация по Java для android.graphics.drawable.Drawable
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Конструкторы
Drawable() |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
Drawable(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Свойства
Alpha |
Возвращает текущее альфа-значение для рисуемого объекта. |
AutoMirrored |
Указывает, будет ли этот рисование автоматически зеркально отображаться, если его направление макета — RTL справа налево. -или- Задайте, будет ли этот рисуемый параметр автоматически зеркально отображаться, если его направление макета — RTL (справа налево). |
Bounds |
Возвращает границы рисуемого прямоугольника. -или- Укажите ограничивающий прямоугольник для рисования. |
Callback |
Возвращает текущую |
ChangingConfigurations |
Возвращает маску параметров конфигурации, для которых это может измениться, требуя повторного создания. -или- Задайте маску параметров конфигурации, для которых это может измениться, требуя повторного создания. |
Class |
Возвращает класс среды выполнения этого |
ColorFilter |
Возвращает текущий цветовый фильтр или |
Current |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
DirtyBounds |
Верните грязные границы рисуемого прямоугольника. |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
HasFocusStateSpecified |
Указывает, имеет ли этот рисуемый по крайней мере один спецификации состояния явным |
IntrinsicHeight |
Возвращает встроенную высоту рисуемого элемента. |
IntrinsicWidth |
Возвращает встроенную ширину рисования. |
IsFilterBitmap |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
IsProjected |
Указывает, является ли эта проекция нарисоваемым запросом. |
IsStateful |
Указывает, изменится ли этот внешний вид на основе состояния. |
IsVisible |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
JniIdentityHashCode |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
JniPeerMembers |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
LayoutDirection |
Возвращает разрешенное направление макета для этого объекта Drawable. |
Level |
Получение текущего уровня. |
MinimumHeight |
Возвращает минимальную высоту, предлагаемую этим рисуемым. |
MinimumWidth |
Возвращает минимальную ширину, предлагаемую этим рисуемым. |
Opacity |
Возвращает прозрачность или прозрачность этого объекта Drawable. |
OpticalInsets |
Возвращает в наборы наборов макетов, предлагаемых этим рисуемым для использования с операциями выравнивания во время макета. |
PeerReference |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
TransparentRegion |
Возвращает регион, представляющий часть рисования, которая полностью прозрачна. |
Методы
ApplyTheme(Resources+Theme) |
Применяет указанную тему к этой рисуемой и ее дочерним элементам. |
CanApplyTheme() |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
ClearColorFilter() |
Удаляет фильтр цветов для этого рисуемого объекта. |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
CopyBounds() |
Верните копию границ рисования в новом прямоугольнике. |
CopyBounds(Rect) |
Возвращает копию границ рисования в указанном прямоугольнике (выделено вызывающим объектом). |
CreateFromPath(String) |
Создайте рисование из имени пути к файлу. |
CreateFromPathAsync(String) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
CreateFromResourceStream(Resources, TypedValue, Stream, String, BitmapFactory+Options) |
Создайте рисование из входного потока, используя заданные ресурсы и значение для определения сведений о плотности. |
CreateFromResourceStream(Resources, TypedValue, Stream, String) |
Создайте рисование из входного потока, используя заданные ресурсы и значение для определения сведений о плотности. |
CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String, BitmapFactory+Options) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
CreateFromStream(Stream, String) |
Создание рисования из входного потока |
CreateFromStreamAsync(Stream, String) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
CreateFromXml(Resources, XmlReader, Resources+Theme) |
Создайте рисование из XML-документа. |
CreateFromXml(Resources, XmlReader) |
Создайте рисование из XML-документа. |
CreateFromXmlAsync(Resources, XmlReader, Resources+Theme) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
CreateFromXmlAsync(Resources, XmlReader) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
CreateFromXmlInner(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Создайте из XML-документа. |
CreateFromXmlInner(Resources, XmlReader, IAttributeSet) |
Создайте из XML-документа. |
Dispose() |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
Dispose(Boolean) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
Draw(Canvas) |
Рисуйте границы (set via setBounds) с учетом необязательных эффектов, таких как альфа(set via setAlpha) и фильтр цветов (set via setColorFilter). |
Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
GetConstantState() |
|
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
GetHotspotBounds(Rect) |
Заполняется |
GetOutline(Outline) |
Вызывается для заполнения области рисования, определяющей область рисования. |
GetPadding(Rect) |
Вернитесь в заполнение наборов, предлагаемых этим рисуемым для размещения содержимого в границах рисуемого объекта. |
GetState() |
Описывает текущее состояние, как объединение примитивных состояний, таких как |
Inflate(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Раздуйте этот рисуемый ресурс ИЗ XML-ресурса. |
Inflate(Resources, XmlReader, IAttributeSet) |
Раздуйте этот рисуемый ресурс ИЗ XML-ресурса. |
InflateAsync(Resources, XmlReader, IAttributeSet, Resources+Theme) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
InflateAsync(Resources, XmlReader, IAttributeSet) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
InvalidateSelf() |
Используйте текущую |
JavaFinalize() |
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
JumpToCurrentState() |
Если этот объект Drawable выполняет переход анимации между состояниями, попросите немедленно перейти к текущему состоянию и пропустить активные анимации. |
Mutate() |
Сделайте этот рисуемый изменяемым. |
Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
OnBoundsChange(Rect) |
Переопределите это в подклассе, чтобы изменить внешний вид, если вы зависите от границ. |
OnLayoutDirectionChanged(Int32) |
Вызывается, когда разрешенное направление макета для рисования изменяется. |
OnLevelChange(Int32) |
Переопределите это в подклассе, чтобы изменить внешний вид, если вы зависите от уровня. |
OnStateChange(Int32[]) |
Переопределите это в подклассе, чтобы изменить внешний вид, если вы распознаете указанное состояние. |
ResolveOpacity(Int32, Int32) |
Возвращает соответствующее значение непрозрачности для двух исходных опасностей. |
ScheduleSelf(Action, Int64) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
ScheduleSelf(IRunnable, Int64) |
Используйте текущую |
SetAlpha(Int32) |
Укажите альфа-значение для рисуемого объекта. |
SetBounds(Int32, Int32, Int32, Int32) |
Укажите ограничивающий прямоугольник для рисования. |
SetCallback(Drawable+ICallback) |
Привязывает объект к этому объекту |
SetColorFilter(Color, PorterDuff+Mode) |
Укажите цвет и режим Porter-Duff, чтобы быть фильтром цветов для этого рисуемого объекта. |
SetColorFilter(ColorFilter) |
Укажите необязательный цветной фильтр для рисования. |
SetDither(Boolean) |
Задайте для значения true, чтобы цветолюбивого дитератора отображалось на устройстве с менее чем 8 битами на каждый компонент цвета. |
SetFilterBitmap(Boolean) |
Задайте значение true, чтобы фильтруемый фильтр был применен к растровым изображениям с двулинейной выборкой при масштабировании или повороте. |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
SetHotspot(Single, Single) |
Указывает расположение хот-точки в рисуемом объекте. |
SetHotspotBounds(Int32, Int32, Int32, Int32) |
Задает границы, к которым ограничена точка доступа, если они должны отличаться от границ, доступных для рисования. |
SetLayoutDirection(LayoutDirection) |
Задайте направление макета для этого рисуемого объекта. |
SetLevel(Int32) |
Укажите уровень для рисования. |
SetState(Int32[]) |
Укажите набор состояний для рисования. |
SetTint(Int32) |
Задает цвет оттенка для этого рисуемого объекта. |
SetTintBlendMode(BlendMode) |
Задает режим смешивания оттенков для этого рисуемого объекта. |
SetTintList(ColorStateList) |
Задает цвет отрисовки для этого рисования в виде списка состояний цвета. |
SetTintMode(PorterDuff+Mode) |
Задает режим смешивания оттенков для этого рисуемого объекта. |
SetVisible(Boolean, Boolean) |
Задайте, отображается ли этот рисуемый файл. |
ToArray<T>() |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
UnscheduleSelf(Action) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
UnscheduleSelf(IRunnable) |
Используйте текущую |
Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
IJavaPeerable.Finalized() |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
IJavaPeerable.JniManagedPeerState |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. (Унаследовано от Object) |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |
GetJniTypeName(IJavaPeerable) |
Рисование — это общая абстракция для "чего-то, что можно нарисовать. |