public class RotateDrawable
extends DrawableWrapper
java.lang.Object | |||
↳ | android.graphics.drawable.Drawable | ||
↳ | android.graphics.drawable.DrawableWrapper | ||
↳ | android.graphics.drawable.RotateDrawable |
基于当前级别值可以旋转另一个Drawable的Drawable。 可以控制旋转的开始和结束角度以将任何圆弧映射到水平值范围。
它可以使用<rotate>
元素在XML文件中定义。 有关更多信息,请参阅Animation Resources的指南。
XML attributes |
|
---|---|
android:drawable |
Reference to a drawable resource to use for the frame. |
android:fromDegrees |
|
android:pivotX |
|
android:pivotY |
|
android:toDegrees |
|
android:visible |
Provides initial visibility state of the drawable; the default value is false. |
Public constructors |
|
---|---|
RotateDrawable() 创建一个不包装可绘制的新的旋转绘图。 |
Public methods |
|
---|---|
void |
applyTheme(Resources.Theme t) 将指定的主题应用于此Drawable及其子项。 |
void |
draw(Canvas canvas) 在其边界(通过setBounds设置)中绘制,考虑可选效果,如alpha(通过setAlpha设置)和color filter(通过setColorFilter设置)。 |
float |
getFromDegrees() |
float |
getPivotX() |
float |
getPivotY() |
float |
getToDegrees() |
void |
inflate(Resources r, XmlPullParser parser, AttributeSet attrs, Resources.Theme theme) 从可选的由主题设计的XML资源中扩展此Drawable。 |
boolean |
isPivotXRelative() |
boolean |
isPivotYRelative() |
void |
setFromDegrees(float fromDegrees) 设置旋转的起始角度。 |
void |
setPivotX(float pivotX) 设置绘图旋转的X位置。 |
void |
setPivotXRelative(boolean relative) 设置X pivot值是表示可绘制宽度的一个分数还是以像素为单位的绝对值。 |
void |
setPivotY(float pivotY) 设置绘图旋转的Y位置。 |
void |
setPivotYRelative(boolean relative) 设置Y轴值是表示可绘制高度的一个分数还是以像素为单位的绝对值。 |
void |
setToDegrees(float toDegrees) 设置旋转的结束角度。 |
Protected methods |
|
---|---|
boolean |
onLevelChange(int level) 如果您根据级别而变化,请在您的子类中覆盖此内容以更改外观。 |
Inherited methods |
|
---|---|
From class android.graphics.drawable.DrawableWrapper
|
|
From class android.graphics.drawable.Drawable
|
|
From class java.lang.Object
|
|
From interface android.graphics.drawable.Drawable.Callback
|
引用可用于该帧的可绘制资源。 如果没有给出,drawable必须由第一个子标签定义。
必须是另一个资源的引用,其形式为“ @[+][package:]type:name
”,或者其形式为“一个主题属性 ?[package:][type:]name
”。
这对应于全局属性资源符号 drawable
。
相关方法:
相关方法:
Related methods:
相关方法:
提供drawable的初始可见性状态; 默认值是false。 见setVisible(boolean, boolean)
。
必须是布尔值,可以是“ true
”或“ false
”。
这也可能是对包含此类型值的资源(形式为“ @[package:]type:name
”)或主题属性(形式为“ ?[package:][type:]name
”)的 ?[package:][type:]name
。
这对应于全局属性资源符号 visible
。
void applyTheme (Resources.Theme t)
将指定的主题应用于此Drawable及其子项。
Parameters | |
---|---|
t |
Resources.Theme : the theme to apply |
void draw (Canvas canvas)
在其边界(通过setBounds设置)中绘制,考虑可选效果,如alpha(通过setAlpha设置)和color filter(通过setColorFilter设置)。
Parameters | |
---|---|
canvas |
Canvas : The canvas to draw into |
float getFromDegrees ()
相关XML属性:
Returns | |
---|---|
float |
starting angle for rotation in degrees |
也可以看看:
float getPivotX ()
相关XML属性:
Returns | |
---|---|
float |
X position around which to rotate |
也可以看看:
float getPivotY ()
相关XML属性:
Returns | |
---|---|
float |
Y position around which to rotate |
也可以看看:
float getToDegrees ()
相关XML属性:
Returns | |
---|---|
float |
ending angle for rotation in degrees |
也可以看看:
void inflate (Resources r, XmlPullParser parser, AttributeSet attrs, Resources.Theme theme)
从可选的由主题设计的XML资源中扩展此Drawable。 对于每个Drawable,这不能被调用一次以上。 请注意,框架可能已经调用过这一次从XML资源创建Drawable实例。
Parameters | |
---|---|
r |
Resources : Resources used to resolve attribute values |
parser |
XmlPullParser : XML parser from which to inflate this Drawable |
attrs |
AttributeSet : Base set of attribute values |
theme |
Resources.Theme : Theme to apply, may be null |
Throws | |
---|---|
XmlPullParserException |
|
IOException |
boolean isPivotXRelative ()
Returns | |
---|---|
boolean |
true if the X pivot represents a fraction of the drawable width, or false if it represents an absolute value in pixels |
也可以看看:
boolean isPivotYRelative ()
Returns | |
---|---|
boolean |
true if the Y pivot represents a fraction of the drawable height, or false if it represents an absolute value in pixels |
也可以看看:
void setFromDegrees (float fromDegrees)
设置旋转的起始角度。
相关XML属性:
Parameters | |
---|---|
fromDegrees |
float : starting angle in degrees |
也可以看看:
void setPivotX (float pivotX)
设置绘图旋转的X位置。
如果X轴是相对的(由setPivotXRelative(boolean)
指定),那么位置代表可绘制宽度的一小部分。 否则,该位置表示以像素为单位的绝对值。
相关XML属性:
Parameters | |
---|---|
pivotX |
float : X position around which to rotate |
也可以看看:
void setPivotXRelative (boolean relative)
设置X pivot值是表示可绘制宽度的一个分数还是以像素为单位的绝对值。
Parameters | |
---|---|
relative |
boolean : true if the X pivot represents a fraction of the drawable width, or false if it represents an absolute value in pixels |
也可以看看:
void setPivotY (float pivotY)
设置绘图旋转的Y位置。
如果Y轴是相对的(由setPivotYRelative(boolean)
指定),那么位置代表可绘制高度的一部分。 否则,该位置表示以像素为单位的绝对值。
相关XML属性:
Parameters | |
---|---|
pivotY |
float : Y position around which to rotate |
也可以看看:
void setPivotYRelative (boolean relative)
设置Y轴值是表示可绘制高度的一个分数还是以像素为单位的绝对值。
Parameters | |
---|---|
relative |
boolean : True if the Y pivot represents a fraction of the drawable height, or false if it represents an absolute value in pixels |
也可以看看:
void setToDegrees (float toDegrees)
设置旋转的结束角度。
相关XML属性:
Parameters | |
---|---|
toDegrees |
float : ending angle in degrees |
也可以看看:
boolean onLevelChange (int level)
如果您根据级别而变化,请在您的子类中覆盖此内容以更改外观。
Parameters | |
---|---|
level |
int
|
Returns | |
---|---|
boolean |
Returns true if the level change has caused the appearance of the Drawable to change (that is, it needs to be drawn), else false if it looks the same and there is no need to redraw it since its last level. |