Shape Drawable
This is a generic shape defined in XML.
- FILE LOCATION:
-
@H_404_11@res/drawable/filename.xml
The filename is used as the resource ID. - COMPILED RESOURCE DATATYPE:
- Resource pointer to a @H_404_11@GradientDrawable.
- RESOURCE REFERENCE:
-
In Java:
@H_404_11@R.drawable.filename
In XML: @H_404_11@@[package:]drawable/filename - Syntax:
-
<?xml version="1.0" encoding"utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"android:shape["rectangle" | "oval""line""ring"] > <corners android:radius"integer"android:topLeftRadiusandroid:topRightRadiusandroid:bottomLeftRadiusandroid:bottomRightRadius /><gradientandroid:angleandroid:centerXandroid:centerYandroid:centerColorandroid:endColorcolorandroid:gradientRadiusandroid:startColorandroid:type["linear""radial""sweep"] android:useLevel["true""false"<paddingandroid:leftandroid:topandroid:rightandroid:bottom<sizeandroid:widthandroid:height<solidandroid:color<strokeandroid:dashWidthandroid:dashGap</shape>
- ELEMENTS:
-
- @H_404_11@<shape>
-
The shape drawable. This must be the root element.
attributes:
- @H_404_11@xmlns:android
- String. required.Defines the XML namespace,which must be @H_404_11@"http://schemas.android.com/apk/res/android".
- @H_404_11@android:shape
-
Keyword. Defines the type of shape. Valid values are:
Value Desciption @H_404_11@"rectangle" A rectangle that fills the containing View. This is the default shape. @H_404_11@"oval" An oval shape that fits the dimensions of the containing View. @H_404_11@"line" A horizontal line that spans the width of the containing View. This shape requires the@H_404_11@<stroke>element to define the width of the line. @H_404_11@"ring" A ring shape.
The following attributes are used only when@H_404_11@android:shape="ring":
- @H_404_11@android:innerRadius
- Dimension. The radius for the inner part of the ring (the hole in the middle),as a dimension value or dimension resource.
- @H_404_11@android:innerRadiusRatio
- Float. The radius for the inner part of the ring,expressed as a ratio of the ring's width. For instance,if @H_404_11@android:innerRadiusRatio="5",then the inner radius equals the ring's width divided by 5. This value is overridden by @H_404_11@android:innerRadius. Default value is 9.
- @H_404_11@android:thickness
- Dimension. The thickness of the ring,229); text-decoration:none" rel="nofollow">dimension resource.
- @H_404_11@android:thicknessRatio
- Float. The thickness of the ring,if @H_404_11@android:thicknessRatio="2",then the thickness equals the ring's width divided by 2. This value is overridden by @H_404_11@android:innerRadius. Default value is 3.
- @H_404_11@android:useLevel
- Boolean. "true" if this is used as a @H_404_11@LevelListDrawable. This should normally be "false" or your shape may not appear.
- @H_404_11@<corners>
-
Creates rounded corners for the shape. Applies only when the shape is a rectangle.
attributes:
- @H_404_11@android:radius
- Dimension. The radius for all corners,229); text-decoration:none" rel="nofollow">dimension resource. This is overridden for each corner by the following attributes.
- @H_404_11@android:topLeftRadius
- Dimension. The radius for the top-left corner,229); text-decoration:none" rel="nofollow">dimension resource.
- @H_404_11@android:topRightRadius
- Dimension. The radius for the top-right corner,229); text-decoration:none" rel="nofollow">dimension resource.
- @H_404_11@android:bottomLeftRadius
- Dimension. The radius for the bottom-left corner,229); text-decoration:none" rel="nofollow">dimension resource.
- @H_404_11@android:bottomRightRadius
- Dimension. The radius for the bottom-right corner,229); text-decoration:none" rel="nofollow">dimension resource.
Note:Every corner must (initially) be provided a corner radius greater than 1,or else no corners are rounded. If you want specific corners tonotbe rounded,a work-around is to use@H_404_11@android:radiusto set a default corner radius greater than 1,but then override each and every corner with the values you really want,providing zero ("0dp") where you don't want rounded corners.
- @H_404_11@<gradient>
-
Specifies a gradient color for the shape.
attributes:
- @H_404_11@android:angle
- Integer. The angle for the gradient,in degrees. 0 is left to right,90 is bottom to top. It must be a multiple of 45. Default is 0.
- @H_404_11@android:centerX
- Float. The relative X-position for the center of the gradient (0 - 1.0).
- @H_404_11@android:centerY
- Float. The relative Y-position for the center of the gradient (0 - 1.0).
- @H_404_11@android:centerColor
- Color. Optional color that comes between the start and end colors,as a hexadecimal value or color resource.
- @H_404_11@android:endColor
- Color. The ending color,229); text-decoration:none" rel="nofollow">color resource.
- @H_404_11@android:gradientRadius
- Float. The radius for the gradient. Only applied when @H_404_11@android:type="radial".
- @H_404_11@android:startColor
- Color. The starting color,229); text-decoration:none" rel="nofollow">color resource.
- @H_404_11@android:type
-
Keyword. The type of gradient pattern to apply. Valid values are:
Description
@H_404_11@"linear" A linear gradient. This is the default. @H_404_11@"radial" A radial gradient. The start color is the center color. @H_404_11@"sweep" A sweeping line gradient. - @H_404_11@android:useLevel
- Boolean. "true" if this is used as a @H_404_11@LevelListDrawable.
- @H_404_11@<padding>
-
Padding to apply to the containing View element (this pads the position of the View content,not the shape).
attributes:
- @H_404_11@android:left
- Dimension. Left padding,229); text-decoration:none" rel="nofollow">dimension resource.
- @H_404_11@android:top
- Dimension. Top padding,229); text-decoration:none" rel="nofollow">dimension resource.
- @H_404_11@android:right
- Dimension. Right padding,229); text-decoration:none" rel="nofollow">dimension resource.
- @H_404_11@android:bottom
- Dimension. Bottom padding,229); text-decoration:none" rel="nofollow">dimension resource.
- @H_404_11@<size>
-
The size of the shape.
attributes:
- @H_404_11@android:height
- Dimension. The height of the shape,229); text-decoration:none" rel="nofollow">dimension resource.
- @H_404_11@android:width
-
Dimension. The width of the shape,255)"> Note:The shape scales to the size of the container View proportionate to the dimensions defined here,by default. When you use the shape in an@H_404_11@ImageView,you can restrict scaling by setting the
android:scaleType
to@H_404_11@"center". - @H_404_11@<solid>
-
A solid color to fill the shape.
attributes:
- @H_404_11@<stroke>
-
A stroke line for the shape.
attributes:
- @H_404_11@android:width
- Dimension. The thickness of the line,229); text-decoration:none" rel="nofollow">dimension resource.
- @H_404_11@android:color
- Color. The color of the line,229); text-decoration:none" rel="nofollow">color resource.
- @H_404_11@android:dashGap
- Dimension. The distance between line dashes,229); text-decoration:none" rel="nofollow">dimension resource. Only valid if @H_404_11@android:dashWidthis set.
- @H_404_11@android:dashWidth
- Dimension. The size of each dash line,229); text-decoration:none" rel="nofollow">dimension resource. Only valid if @H_404_11@android:dashGapis set.
- EXAMPLE:
-
XML file saved at
@H_404_11@res/drawable/gradient_Box.xml:
<shape "rectangle"<gradient"#FFFF0000""#80FF00FF""45"<padding"7dp"<corners"8dp"</shape>
This layout XML applies the shape drawable to a View:
<TextViewandroid:background"@drawable/gradient_Box"android:layout_height"wrap_content"android:layout_width/>
This application code gets the shape drawable and applies it to a View:
Resources res = ; Drawable shape res.(Rdrawablegradient_Box); TextView tv (TextView)findViewByIDidtextview tvsetBackgroundshape);getResources()getDrawable
- SEE ALSO:
-
- @H_404_11@ShapeDrawable