public class DrawerArrowDrawable
extends Drawable
java.lang.Object | ||
↳ | android.graphics.drawable.Drawable | |
↳ | android.support.v7.graphics.drawable.DrawerArrowDrawable |
一个可绘制“抽屉汉堡包”菜单或箭头并在它们之间生成动画的绘图。
两国之间的进展通过 setProgress(float)
控制。
Constants |
|
---|---|
int |
ARROW_DIRECTION_END 使箭头指向最后的方向。 |
int |
ARROW_DIRECTION_LEFT 使箭头指向左侧的方向。 |
int |
ARROW_DIRECTION_RIGHT 使箭头指向右侧的方向。 |
int |
ARROW_DIRECTION_START 使箭头指向开始的方向。 |
Public constructors |
|
---|---|
DrawerArrowDrawable(Context context) |
Public methods |
|
---|---|
void |
draw(Canvas canvas) 在其边界(通过setBounds设置)中绘制,考虑可选效果,如alpha(通过setAlpha设置)和color filter(通过setColorFilter设置)。 |
float |
getArrowHeadLength() 返回箭头的长度(从尖端到边缘,垂直于轴),以像素为单位。 |
float |
getArrowShaftLength() 以像素为单位返回箭头轴长度。 |
float |
getBarLength() 当它们相互平行时,条的长度。 |
float |
getBarThickness() 返回条的粗细(笔划宽度)。 |
int |
getColor() 返回drawable的颜色。 |
int |
getDirection() 返回箭头方向。 |
float |
getGapSize() 当它们相互平行时,返回条形之间的最大间距。 |
int |
getIntrinsicHeight() 返回drawable的内在高度。 |
int |
getIntrinsicWidth() 返回drawable的内部宽度。 |
int |
getOpacity() 返回此Drawable的不透明度/透明度。 |
final Paint |
getPaint() 返回用于所有绘图的绘制实例。 |
float |
getProgress() 返回箭头的当前进度。 |
boolean |
isSpinEnabled() 返回转换期间是否应旋转条。 |
void |
setAlpha(int alpha) 为drawable指定一个alpha值。 |
void |
setArrowHeadLength(float length) 设置箭头的长度(从尖端到边缘,垂直于轴)。 |
void |
setArrowShaftLength(float length) 设定箭头轴的长度。 |
void |
setBarLength(float length) 设置横条相互平行时的长度。 |
void |
setBarThickness(float width) 设置钢筋的粗细(行程大小)。 |
void |
setColor(int color) 设置绘图的颜色。 |
void |
setColorFilter(ColorFilter colorFilter) 为绘图指定一个可选的颜色过滤器。 |
void |
setDirection(int direction) 设置箭头方向。 |
void |
setGapSize(float gap) 设置条间平行的最大间隔。 |
void |
setProgress(float progress) 设置箭头的进度。 |
void |
setSpinEnabled(boolean enabled) 返回转换期间是否应旋转条。 |
void |
setVerticalMirror(boolean verticalMirror) 如果设置,当进度到达并返回开始时画布会翻转。 |
Inherited methods |
|
---|---|
From class android.graphics.drawable.Drawable
|
|
From class java.lang.Object
|
int ARROW_DIRECTION_END
使箭头指向最后的方向。
当与一个视图中使用 RTL
布局方向,这是相同的 ARROW_DIRECTION_LEFT
,否则是相同 ARROW_DIRECTION_RIGHT
。
也可以看看:
常量值:3(0x00000003)
int ARROW_DIRECTION_LEFT
使箭头指向左侧的方向。
也可以看看:
常量值:0(0x00000000)
int ARROW_DIRECTION_RIGHT
使箭头指向右侧的方向。
也可以看看:
常数值:1(0x00000001)
int ARROW_DIRECTION_START
使箭头指向开始的方向。
当与一个视图中使用 RTL
布局方向,这是相同的 ARROW_DIRECTION_RIGHT
,否则是相同 ARROW_DIRECTION_LEFT
。
也可以看看:
常量值:2(0x00000002)
DrawerArrowDrawable (Context context)
Parameters | |
---|---|
context |
Context : used to get the configuration for the drawable from |
void draw (Canvas canvas)
在其边界(通过setBounds设置)中绘制,考虑可选效果,如alpha(通过setAlpha设置)和color filter(通过setColorFilter设置)。
Parameters | |
---|---|
canvas |
Canvas : The canvas to draw into |
float getArrowHeadLength ()
返回箭头的长度(从尖端到边缘,垂直于轴),以像素为单位。
Returns | |
---|---|
float |
float getArrowShaftLength ()
以像素为单位返回箭头轴长度。
Returns | |
---|---|
float |
float getBarLength ()
当它们相互平行时,条的长度。
Returns | |
---|---|
float |
float getBarThickness ()
返回条的粗细(笔划宽度)。
Returns | |
---|---|
float |
int getColor ()
返回drawable的颜色。
Returns | |
---|---|
int |
int getDirection ()
返回箭头方向。
Returns | |
---|---|
int |
int getIntrinsicHeight ()
返回drawable的内在高度。
固有高度是可拉伸的布局高度,包括任何固有的填充。 如果drawable没有固有的高度,例如纯色,则此方法返回-1。
Returns | |
---|---|
int |
the intrinsic height, or -1 if no intrinsic height |
int getIntrinsicWidth ()
返回drawable的内部宽度。
固有宽度是可展开的布局的宽度,包括任何固有的填充。 如果drawable没有固有的宽度,例如纯色,则此方法返回-1。
Returns | |
---|---|
int |
the intrinsic width, or -1 if no intrinsic width |
int getOpacity ()
返回此Drawable的不透明度/透明度。 返回的值是在抽象格式常数之一PixelFormat
: UNKNOWN
, TRANSLUCENT
, TRANSPARENT
,或OPAQUE
。
OPAQUE drawable是一个绘制所有内容的范围,完全覆盖drawable后面的所有内容。 一个TRANSPARENT drawable是一个在其范围内没有绘制任何东西的图形,允许它后面的所有东西都显示出来。 TRANSLUCENT drawable是任何其他状态中的drawable,drawable将绘制其边界内的一些内容,但不是全部内容,并且至少drawable后面的某些内容将可见。 如果无法确定可绘制内容的可见性,则最安全/最佳返回值为TRANSLUCENT。
一般而言,Drawable应该尽可能保守并且返回值。 例如,如果它包含多个子drawable,并且一次只显示其中一个,如果只有一个子项是TRANSLUCENT,而其他子项是OPAQUE,则应返回TRANSLUCENT。 您可以使用方法resolveOpacity(int, int)
将两个不透明度标准减少到相应的单个输出。
请注意,返回的值不一定会考虑客户端通过setAlpha(int)
或setColorFilter(ColorFilter)
方法应用的自定义alpha或颜色过滤器。 一些子类,比如BitmapDrawable
, ColorDrawable
,并GradientDrawable
,对价值做账setAlpha(int)
,但总的行为是依赖于子类实现的。
Returns | |
---|---|
int |
int The opacity class of the Drawable. |
float getProgress ()
返回箭头的当前进度。
Returns | |
---|---|
float |
void setAlpha (int alpha)
为drawable指定一个alpha值。 0表示完全透明,255表示完全不透明。
Parameters | |
---|---|
alpha |
int
|
void setArrowHeadLength (float length)
设置箭头的长度(从尖端到边缘,垂直于轴)。
Parameters | |
---|---|
length |
float : the length in pixels |
void setArrowShaftLength (float length)
设定箭头轴的长度。
Parameters | |
---|---|
length |
float : the length in pixels |
void setBarLength (float length)
设置横条相互平行时的长度。
Parameters | |
---|---|
length |
float : the length in pixels |
void setBarThickness (float width)
设置钢筋的粗细(行程大小)。
Parameters | |
---|---|
width |
float : stroke width in pixels |
void setColor (int color)
设置绘图的颜色。
Parameters | |
---|---|
color |
int
|
void setColorFilter (ColorFilter colorFilter)
为绘图指定一个可选的颜色过滤器。
如果Drawable具有ColorFilter,则Drawable的绘图内容的每个输出像素在混合到Canvas的渲染目标之前将被颜色过滤器修改。
通过 null
删除任何现有的颜色过滤器。
注意:设置非 null
颜色过滤器会禁用 tint
。
Parameters | |
---|---|
colorFilter |
ColorFilter : The color filter to apply, or null to remove the existing color filter |
void setDirection (int direction)
设置箭头方向。
Parameters | |
---|---|
direction |
int
|
void setGapSize (float gap)
设置条间平行的最大间隔。
Parameters | |
---|---|
gap |
float : the gap in pixels |
也可以看看:
void setProgress (float progress)
设置箭头的进度。
值为0.0
表示应在其起始位置绘制箭头。 值为1.0
表示箭头应绘制在结束位置。
Parameters | |
---|---|
progress |
float
|
void setSpinEnabled (boolean enabled)
返回转换期间是否应旋转条。
Parameters | |
---|---|
enabled |
boolean : true if the bars should rotate. |
也可以看看:
void setVerticalMirror (boolean verticalMirror)
如果设置,当进度到达并返回开始时画布会翻转。
Parameters | |
---|---|
verticalMirror |
boolean
|