The shape drawable. This must be the root element.
attributes:
xmlns:android
String.
Required. Defines the XML namespace, which must be
"http://schemas.android.com/apk/res/android".
android:shape
Keyword. Defines the type of shape. Valid values are:
Value
Desciption
"rectangle"
A rectangle that fills the containing View. This is the default shape.
"oval"
An oval shape that fits the dimensions of the containing View.
"line"
A horizontal line that spans the width of the containing View. This shape requires the<stroke> element to define the width of the line.
"ring"
A ring shape.
The following attributes are used only when android:shape="ring":
android:innerRadius
Dimension. The radius for theinner part of the ring (the hole in the middle), as a dimension value or
dimension resource.
android:innerRadiusRatio
Float. The radius for the innerpart of the ring, expressed as a ratio of the ring's width. For instance, if
android:innerRadiusRatio="5", then the inner radius equals the ring's width divided by 5. Thisvalue is overridden by
android:innerRadius. Default value is 9.
android:thickness
Dimension. The thickness of thering, as a dimension value or
dimension resource.
android:thicknessRatio
Float. The thickness of the ring,expressed as a ratio of the ring's width. For instance, if
android:thicknessRatio="2", thenthe thickness equals the ring's width divided by 2. This value is overridden by
android:innerRadius. Default value is 3.
android:useLevel
Boolean. "true" if this is used asa
LevelListDrawable. This should normally be "false" or your shape may not appear.
<corners>
Creates rounded corners for the shape. Applies only when the shape is a rectangle.
attributes:
android:radius
Dimension. The radius for all corners, as a dimension value or
dimension resource. This is overridden for eachcorner by the following attributes.
android:topLeftRadius
Dimension. The radius for the top-left corner, as a dimension value or
dimension resource.
android:topRightRadius
Dimension. The radius for the top-right corner, as a dimension value or
dimension resource.
android:bottomLeftRadius
Dimension. The radius for the bottom-left corner, as a dimension value or
dimension resource.
android:bottomRightRadius
Dimension. The radius for the bottom-right corner, as a dimension value or
dimension resource.
Note: Every corner must (initially) be provided a cornerradius greater than 1, or else no corners are rounded. If you want specific cornerstonot be rounded, a work-around is to useandroid:radius to set a default cornerradius greater than 1, but then override each and every corner with the values you reallywant, providing zero ("0dp") where you don't want rounded corners.
<gradient>
Specifies a gradient color for the shape.
attributes:
android:angle
Integer. The angle for the gradient, in degrees. 0 is left to right, 90 isbottom to top. It must be a multiple of 45. Default is 0.
android:centerX
Float. The relative X-position for the center of the gradient (0 - 1.0).
android:centerY
Float. The relative Y-position for the center of the gradient (0 - 1.0).
android:centerColor
Color. Optional color that comes between the start and end colors, as ahexadecimal value or
color resource.
android:endColor
Color. The ending color, as a hexadecimalvalue or
color resource.
android:gradientRadius
Float. The radius for the gradient. Only applied when
android:type="radial".
android:startColor
Color. The starting color, as a hexadecimalvalue or
color resource.
android:type
Keyword. The type of gradient pattern to apply. Valid values are:
Value
Description
"linear"
A linear gradient. This is the default.
"radial"
A radial gradient. The start color is the center color.
Dimension. The height of the shape, as a dimension value or
dimension resource.
android:width
Dimension. The width of the shape, as a dimension value or
dimension resource.
Note: The shape scales to the size of the containerView proportionate to the dimensions defined here, by default. When you use the shape in anImageView, you can restrict scaling by setting theandroid:scaleType to"center".
<solid>
A solid color to fill the shape.
attributes:
android:color
Color. The color to apply to the shape, as a hexadecimalvalue or
color resource.
<stroke>
A stroke line for the shape.
attributes:
android:width
Dimension. The thickness of the line, as a dimension value or
dimension resource.
android:color
Color. The color of the line, as ahexadecimal value or
color resource.
android:dashGap
Dimension. The distance between line dashes, as a dimension value or
dimension resource. Only valid if
android:dashWidth is set.
android:dashWidth
Dimension. The size of each dash line, as a dimension value or
dimension resource. Only valid if
android:dashGap is set.
This application code gets the shape drawable and applies it to a View:
Resources res =getResources();Drawable shape = res.getDrawable(R.drawable.gradient_box);TextView tv =(TextView)findViewByID(R.id.textview);
tv.setBackground(shape);