java.lang.Object | ||
↳ | android.graphics.drawable.Drawable | |
↳ | android.graphics.drawable.GradientDrawable |
A Drawable with a color gradient for buttons, backgrounds, etc.
It can be defined in an XML file with the <shape>
element.
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
GradientDrawable.Orientation | Controls how the gradient is oriented relative to the drawable's bounds |
XML Attributes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
android:angle | |||||||||||
android:bottom | |||||||||||
android:centerColor | Optional center color. | ||||||||||
android:centerX | |||||||||||
android:centerY | |||||||||||
android:color | |||||||||||
android:color | |||||||||||
android:dashGap | |||||||||||
android:dashWidth | |||||||||||
android:endColor | |||||||||||
android:gradientRadius | |||||||||||
android:height | Makes the TextView be exactly this many pixels tall. | ||||||||||
android:innerRadius | Inner radius of the ring. | ||||||||||
android:innerRadiusRatio | Inner radius of the ring expressed as a ratio of the ring's width. | ||||||||||
android:left | |||||||||||
android:right | |||||||||||
android:shape | |||||||||||
android:startColor | |||||||||||
android:thickness | Thickness of the ring. | ||||||||||
android:thicknessRatio | Thickness of the ring expressed as a ratio of the ring's width. | ||||||||||
android:top | |||||||||||
android:type | |||||||||||
android:useLevel | |||||||||||
android:useLevel | |||||||||||
android:visible | Provides initial visibility state of the drawable; the default value is false. | ||||||||||
android:width | Makes the TextView be exactly this many pixels wide. | ||||||||||
android:width | Makes the TextView be exactly this many pixels wide. |
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | LINE | Shape is a line | |||||||||
int | LINEAR_GRADIENT | Gradient is linear (default.) | |||||||||
int | OVAL | Shape is an ellipse | |||||||||
int | RADIAL_GRADIENT | Gradient is circular. | |||||||||
int | RECTANGLE | Shape is a rectangle, possibly with rounded corners | |||||||||
int | RING | Shape is a ring. | |||||||||
int | SWEEP_GRADIENT | Gradient is a sweep. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Create a new gradient drawable given an orientation and an array
of colors for the gradient.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Draw in its bounds (set via setBounds) respecting optional effects such
as alpha (set via setAlpha) and color filter (set via setColorFilter).
| |||||||||||
Return a mask of the configuration parameters for which this drawable
mau change, requiring that it be re-created.
| |||||||||||
Return the intrinsic height of the underlying drawable object.
| |||||||||||
Return the intrinsic width of the underlying drawable object.
| |||||||||||
Return the opacity/transparency of this Drawable.
| |||||||||||
Return in padding the insets suggested by this Drawable for placing
content inside the drawable's bounds.
| |||||||||||
Make this drawable mutable.
| |||||||||||
Specify an alpha value for the drawable.
| |||||||||||
Specify an optional colorFilter for the drawable.
| |||||||||||
Specify radii for each of the 4 corners.
| |||||||||||
Specify radius for the corners of the gradient.
| |||||||||||
Set to true to have the drawable dither its colors when drawn to a device
with fewer than 8-bits per color component.
| |||||||||||
Set the stroke width and color for the drawable.
| |||||||||||
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Override this in your subclass to change appearance if you recognize the
specified state.
| |||||||||||
Override this in your subclass to change appearance if you vary based
on level.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class android.graphics.drawable.Drawable
| |||||||||||
From class java.lang.Object
|
Optional center color. For linear gradients, use centerX or centerY to place the center color.
Must be a color value, in the form of "#rgb
", "#argb
",
"#rrggbb
", or "#aarrggbb
".
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute resource symbol centerColor.
Makes the TextView be exactly this many pixels tall. You could get the same effect by specifying this number in the layout parameters.
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute resource symbol height.
Inner radius of the ring. When defined, innerRadiusRatio is ignored.
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute resource symbol innerRadius.
Inner radius of the ring expressed as a ratio of the ring's width. For instance, if innerRadiusRatio=9, then the inner radius equals the ring's width divided by 9. This value is ignored if innerRadius is defined. Default value is 9.
Must be a floating point value, such as "1.2
".
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute resource symbol innerRadiusRatio.
Thickness of the ring. When defined, thicknessRatio is ignored.
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute resource symbol thickness.
Thickness of the ring expressed as a ratio of the ring's width. For instance, if thicknessRatio=3, then the thickness equals the ring's width divided by 3. This value is ignored if innerRadius is defined. Default value is 3.
Must be a floating point value, such as "1.2
".
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute resource symbol thicknessRatio.
Provides initial visibility state of the drawable; the default value is false. See setVisible(boolean, boolean)
Must be a boolean value, either "true
" or "false
".
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute resource symbol visible.
Makes the TextView be exactly this many pixels wide. You could get the same effect by specifying this number in the layout parameters.
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute resource symbol width.
Makes the TextView be exactly this many pixels wide. You could get the same effect by specifying this number in the layout parameters.
Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp
".
Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size),
in (inches), mm (millimeters).
This may also be a reference to a resource (in the form
"@[package:]type:name
") or
theme attribute (in the form
"?[package:][type:]name
")
containing a value of this type.
This corresponds to the global attribute resource symbol width.
Shape is a line
Gradient is linear (default.)
Shape is an ellipse
Gradient is circular.
Shape is a rectangle, possibly with rounded corners
Shape is a ring.
Gradient is a sweep.
Create a new gradient drawable given an orientation and an array of colors for the gradient.
Draw in its bounds (set via setBounds) respecting optional effects such as alpha (set via setAlpha) and color filter (set via setColorFilter).
canvas | The canvas to draw into |
---|
Return a mask of the configuration parameters for which this drawable mau change, requiring that it be re-created. The default implementation returns whatever was provided through setChangingConfigurations(int) or 0 by default. Subclasses may extend this to or in the changing configurations of any other drawables they hold.
Return the intrinsic height of the underlying drawable object. Returns -1 if it has no intrinsic height, such as with a solid color.
Return the intrinsic width of the underlying drawable object. Returns -1 if it has no intrinsic width, such as with a solid color.
Return the opacity/transparency of this Drawable. The returned value is one of the abstract format constants in PixelFormat: UNKNOWN, TRANSLUCENT, TRANSPARENT, or OPAQUE.
Generally a Drawable should be as conservative as possible with the value it returns. For example, if it contains multiple child drawables and only shows one of them at a time, if only one of the children is TRANSLUCENT and the others are OPAQUE then TRANSLUCENT should be returned. You can use the method resolveOpacity(int, int) to perform a standard reduction of two opacities to the appropriate single output.
Note that the returned value does not take into account a custom alpha or color filter that has been applied by the client through the setAlpha(int) or setColorFilter(ColorFilter) methods.
Return in padding the insets suggested by this Drawable for placing content inside the drawable's bounds. Positive values move toward the center of the Drawable (set Rect.inset). Returns true if this drawable actually has a padding, else false. When false is returned, the padding is always set to 0.
Make this drawable mutable. This operation cannot be reversed. A mutable drawable is guaranteed to not share its state with any other drawable. This is especially useful when you need to modify properties of drawables loaded from resources. By default, all drawables instances loaded from the same resource share a common state; if you modify the state of one instance, all the other instances will receive the same modification. Calling this method on a mutable Drawable will have no effect.
Specify an alpha value for the drawable. 0 means fully transparent, and 255 means fully opaque.
Specify an optional colorFilter for the drawable. Pass null to remove any filters.
Specify radii for each of the 4 corners. For each corner, the array contains 2 values, [X_radius, Y_radius]. The corners are ordered top-left, top-right, bottom-right, bottom-left
Specify radius for the corners of the gradient. If this is > 0, then the drawable is drawn in a round-rectangle, rather than a rectangle.
Set to true to have the drawable dither its colors when drawn to a device with fewer than 8-bits per color component. This can improve the look on those devices, but can also slow down the drawing a little.
Set the stroke width and color for the drawable. If width is zero, then no stroke is drawn.
Override this in your subclass to change appearance if you recognize the specified state.
Override this in your subclass to change appearance if you vary based on level.