다음을 통해 공유


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을 처리합니다. Drawable 클래스는 다양한 형식을 사용할 수 있는 기본 시각적 리소스를 처리하기 위한 일반 API를 제공합니다. android.view.View드로블과 달리 Drawable에는 이벤트를 받거나 사용자와 상호 작용할 수 있는 기능이 없습니다.

간단한 그리기 외에도 Drawable은 클라이언트가 그리는 것과 상호 작용할 수 있는 다양한 제네릭 메커니즘을 제공합니다.

<ul><li>#setBounds 메서드 <var>을 호출하여 Drawable이 그려지는 위치와 그 위치를 알려야<> 합니다. 모든 드로블은 요청된 크기를 준수해야 하며, 종종 단순히 이미지 크기를 조정해야 합니다. 클라이언트는 및 메서드를 사용하여 일부 Drawable의 #getIntrinsicHeight#getIntrinsicWidth 기본 크기를 찾을 수 있습니다.

<li> 메서드는 #getPadding 내부에 배치된 콘텐츠를 프레임하는 방법에 대한 일부 Drawables 정보에서 반환할 수 있습니다. 예를 들어 단추 위젯의 프레임이 되도록 의도된 Drawable은 레이블을 자체 내부에 올바르게 배치하는 안쪽 여백을 반환해야 합니다.

<li> 메서드 #setState 를 사용하면 클라이언트가 그리는 상태(예: "focused", "selected" 등)를 Drawable에 알릴 수 있습니다. 일부 드로블은 선택한 상태에 따라 이미지를 수정할 수 있습니다.

<li> 메서드 #setLevel 를 사용하면 클라이언트가 배터리 수준 또는 진행률 수준과 같이 Drawable이 표시되는 것을 수정할 수 있는 단일 연속 컨트롤러를 제공할 수 있습니다. 일부 드로블은 현재 수준에 따라 이미지를 수정할 수 있습니다.

<li> A Drawable은 인터페이스를 통해 클라이언트로 다시 호출하여 애니메이션을 Callback 수행할 수 있습니다. 모든 클라이언트는 애니메이션이 작동할 수 있도록 (통해 #setCallback) 이 인터페이스를 지원해야 합니다. 이 작업을 수행하는 간단한 방법은 다음과 같은 android.view.View#setBackground(Drawable)android.widget.ImageView시스템 시설을 사용하는 것입니다. </ul>

일반적으로 애플리케이션에 표시되지 않지만 Drawable은 다음과 같은 다양한 형식을 사용할 수 있습니다.

<ul><li><b>Bitmap</b>: 가장 간단한 그리기 가능, PNG 또는 JPEG 이미지입니다. <li><b>Nine Patch</b>: PNG 형식으로 확장하면 PNG 형식을 확장하여 확장하여 내부에 배치하는 방법에 대한 정보를 지정할 수 있습니다. <li><b>Vector</b>: XML 파일에 연결된 색 정보와 함께 점, 선 및 곡선 집합으로 정의된 그리기 가능 요소입니다. 이러한 유형의 드로블은 디스플레이 품질 손실 없이 크기를 조정할 수 있습니다. <li><b>Shape</b>: 원시 비트맵 대신 간단한 그리기 명령을 포함하므로 경우에 따라 크기를 조정할 수 있습니다. <li><b>Layers</b>: 여러 기본 드로블을 서로 위에 그리는 복합 그리기 가능 요소입니다. <li><b>States</b>: 해당 상태에 따라 드로블 집합 중 하나를 선택하는 복합 그리기 가능 요소입니다. <li><b>Levels</b>: 해당 수준에 따라 드로블 집합 중 하나를 선택하는 복합 그리기 가능 요소입니다. <li><b>Scale</b>: 단일 자식 드로블이 있는 복합 그리기 가능으로, 전체 크기는 현재 수준에 따라 수정됩니다. </ul>

"Custom"><h3>사용자 지정 드로블/<h3>

Android의 모든 버전을 사용하면 프레임워크에서 제공하는 그리기 가능 클래스 대신 런타임에 Drawable 클래스를 확장 및 사용할 수 있습니다. 부터는 XML에서 android.os.Build.VERSION_CODES#N API 24사용자 지정 드로블 클래스를 사용할 수도 있습니다.

<strong>Note:</strong> Custom drawable 클래스는 애플리케이션 패키지 내에서만 액세스할 수 있습니다. 다른 애플리케이션은 로드할 수 없습니다.

최소한 사용자 지정 그리기 가능 클래스는 Drawable에서 추상 메서드를 구현해야 하며 콘텐츠를 그리기 위해 메서드를 재정의 Drawable#draw(Canvas) 해야 합니다.

사용자 지정 drawables 클래스는 여러 가지 방법으로 <XML에서 사용할 수 있습니다. ul><li> 정규화된 클래스 이름을 XML 요소 이름으로 사용합니다. 이 메서드의 경우 사용자 지정 그리기 가능 클래스는 공용 최상위 클래스여야 합니다.

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

</li li><> em>drawable</em>을 XML 요소 이름으로 사용하고 <em>class</em> 특성에서 <정규화된 클래스 이름을 지정합니다. 이 메서드는 공용 최상위 클래스와 공용 정적 내부 클래스 모두에 사용할 수 있습니다.

&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>

드로블을 사용하는 방법에 대한 자세한 내용은 Canvas 및 Drawables 개발자 가이드를 참조하세요. 그리기 가능한 리소스(코드에서 로드할 수 있는 XML 또는 비트맵 파일)를 만드는 방법에 대한 자세한 내용과 예제는 그리기 가능한 리소스 문서를 참조하세요.

</div>

에 대한 android.graphics.drawable.DrawableJava 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

생성자

Drawable()

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

Drawable(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

속성

Alpha

그리기 가능 항목의 현재 알파 값을 가져옵니다.

AutoMirrored

레이아웃 방향이 RTL 오른쪽에서 왼쪽일 때 이 Drawable이 자동으로 미러링되는지를 알려줍니다. -또는- 레이아웃 방향이 RTL(오른쪽에서 왼쪽)일 때 이 Drawable이 자동으로 미러링되는지 여부를 설정합니다.

Bounds

드로블의 범위 Rect를 반환합니다. -또는- Drawable에 대한 경계 사각형을 지정합니다.

Callback

이 Drawable에 연결된 현재 Callback 구현을 반환합니다.

ChangingConfigurations

이 그리기 가능 항목이 변경될 수 있는 구성 매개 변수의 마스크를 반환하여 다시 만들어야 합니다. -또는- 이 그리기 가능 항목이 변경될 수 있는 구성 매개 변수의 마스크를 설정하여 다시 만들어야 합니다.

Class

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
ColorFilter

현재 색 필터를 반환하거나 null 설정되지 않은 경우 반환합니다.

Current

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

DirtyBounds

드로블의 더티 경계 Rect를 반환합니다.

Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
HasFocusStateSpecified

이 그리기 가능 항목에 명시적으로 지정하는 android.R.attr#state_focused상태 사양이 하나 이상 있는지 여부를 나타냅니다.

IntrinsicHeight

그리기 개체의 내장 높이를 반환합니다.

IntrinsicWidth

그리기 개체의 내장 너비를 반환합니다.

IsFilterBitmap

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

IsProjected

이 그리기 가능 요청이 프로젝션을 요청하는지 여부입니다.

IsStateful

이 그리기 가능 항목이 상태에 따라 모양을 변경할지 여부를 나타냅니다.

IsVisible

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

JniIdentityHashCode

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

(다음에서 상속됨 Object)
JniPeerMembers

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

LayoutDirection

이 Drawable의 확인된 레이아웃 방향을 반환합니다.

Level

현재 수준을 검색합니다.

MinimumHeight

이 Drawable에서 제안하는 최소 높이를 반환합니다.

MinimumWidth

이 Drawable에서 제안하는 최소 너비를 반환합니다.

Opacity

이 Drawable의 불투명도/투명도를 반환합니다.

OpticalInsets

레이아웃 중에 맞춤 작업에 사용하기 위해 이 Drawable에서 제안하는 레이아웃 인셋을 초기화합니다.

PeerReference

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

(다음에서 상속됨 Object)
ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

TransparentRegion

완전히 투명한 Drawable 부분을 나타내는 영역을 반환합니다.

메서드

ApplyTheme(Resources+Theme)

이 Drawable 및 해당 자식에 지정된 테마를 적용합니다.

CanApplyTheme()

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

ClearColorFilter()

이 그리기 가능한 색 필터를 제거합니다.

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
CopyBounds()

새 Rect에서 그리기 가능 범위의 복사본을 반환합니다.

CopyBounds(Rect)

지정된 Rect(호출자가 할당)에 있는 그리기 가능 범위의 복사본을 반환합니다.

CreateFromPath(String)

파일 경로 이름에서 drawable을 만듭니다.

CreateFromPathAsync(String)

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

CreateFromResourceStream(Resources, TypedValue, Stream, String)

지정된 리소스와 값을 사용하여 밀도 정보를 확인하여 입력 스트림에서 그리기 가능 항목을 만듭니다.

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

지정된 리소스와 값을 사용하여 밀도 정보를 확인하여 입력 스트림에서 그리기 가능 항목을 만듭니다.

CreateFromResourceStreamAsync(Resources, TypedValue, Stream, String)

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

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

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

CreateFromStream(Stream, String)

입력 스트림에서 그리기 가능 항목 만들기

CreateFromStreamAsync(Stream, String)

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

CreateFromXml(Resources, XmlReader)

XML 문서에서 그리기 가능 항목을 만듭니다.

CreateFromXml(Resources, XmlReader, Resources+Theme)

XML 문서에서 그리기 가능 항목을 만듭니다.

CreateFromXmlAsync(Resources, XmlReader)

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

CreateFromXmlAsync(Resources, XmlReader, Resources+Theme)

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

CreateFromXmlInner(Resources, XmlReader, IAttributeSet)

XML 문서 내부에서 만듭니다.

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

XML 문서 내부에서 만듭니다.

Dispose()

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

(다음에서 상속됨 Object)
Draw(Canvas)

알파(setAlpha를 통해 설정) 및 색 필터(setColorFilter를 통해 설정)와 같은 선택적 효과를 기준으로 해당 범위(setBounds를 통해 설정)를 그립니다.

Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetConstantState()

ConstantState 이 Drawable의 공유 상태를 보유하는 인스턴스를 반환합니다.

GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
GetHotspotBounds(Rect)

outRect 핫스팟 범위로 채웁니다.

GetOutline(Outline)

그리기 영역을 정의하는 개요를 채우기 위해 그리기를 가져오기 위해 호출됩니다.

GetPadding(Rect)

드로블의 범위 내에 콘텐츠를 배치하기 위해 이 Drawable에서 제안하는 세트의 안쪽 여백으로 돌아갑니다.

GetState()

현재 상태를 기본 상태(예: 등android.R.attr#state_selected)의 공용 구조체로 android.R.attr#state_focused설명합니다.

Inflate(Resources, XmlReader, IAttributeSet)

XML 리소스에서 이 Drawable을 확장합니다.

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

XML 리소스에서 이 Drawable을 확장합니다.

InflateAsync(Resources, XmlReader, IAttributeSet)

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

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

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

InvalidateSelf()

현재 Callback 구현을 사용하여 이 Drawable을 다시 그려야 합니다.

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)

현재 Callback 구현을 사용하여 이 Drawable을 예약합니다.

SetAlpha(Int32)

그리기 가능 항목의 알파 값을 지정합니다.

SetBounds(Int32, Int32, Int32, Int32)

Drawable에 대한 경계 사각형을 지정합니다.

SetCallback(Drawable+ICallback)

Callback 이 Drawable에 개체를 바인딩합니다.

SetColorFilter(Color, PorterDuff+Mode)

색 및 포터-더프 모드를 이 그리기 가능 색 필터로 지정합니다.

SetColorFilter(ColorFilter)

그리기 가능 항목에 대한 선택적 색 필터를 지정합니다.

SetDither(Boolean)

색상 구성 요소당 8비트 미만의 디바이스에 그릴 때 그리기 가능 항목이 해당 색을 디더링하도록 true로 설정합니다.

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)

현재 Callback 구현을 사용하여 이 Drawable을 예약하지 않습니다.

Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.>

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 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)

그리기는 "그릴 수 있는 것"에 대한 일반적인 추상화입니다.

적용 대상