Shape Drawable----This is a generic shape defined in XML.

前端之家收集整理的这篇文章主要介绍了Shape Drawable----This is a generic shape defined in XML.前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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 theandroid:scaleTypeto@H_404_11@"center".

@H_404_11@<solid>
A solid color to fill the shape.

attributes:

@H_404_11@android:color
Color. The color to apply to the shape,229); text-decoration:none" rel="nofollow">color resource.
@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:

猜你在找的XML相关文章