加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Shape Drawable Xml的background

发布时间:2020-12-16 09:05:14 所属栏目:百科 来源:网络整理
导读:?xml version="1.0" encoding="utf-8"?shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" stroke android:width="0.5dip" android:color="#ff505050" / corners android:radius="2dip" /cornersgradient android

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >


    <stroke
        android:width="0.5dip"
        android:color="#ff505050" />


    <corners android:radius="2dip" >
    </corners>


	<gradient android:startColor="#ff404040"
	    android:centerColor="#ff383838"
	    android:endColor="#ff404040"
	    />
</shape>



This is a generic shape defined in XML.

file location:
res/drawable/filename.xml
The filename is used as the resource ID.
compiled resource datatype:
Resource pointer to a GradientDrawable.
resource reference:
In Java: R.drawable.filename
In XML: @[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"] ><cornersandroid: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:
<shape>
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 whenandroid:shape="ring":

android:innerRadius
Dimension. The radius for the inner part of the ring (the hole in the middle),as a dimension value or dimension resource.
android:innerRadiusRatio
Float. The radius for the inner part 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. This value is overridden by android:innerRadius. Default value is 9.
android:thickness
Dimension. The thickness of the ring,as a dimension value or dimension resource.
android:thicknessRatio
Float. The thickness of the ring,if android:thicknessRatio="2",then the 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 as a 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 each corner 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 corner radius greater than 1,or else no corners are rounded. If you want specific corners tonotbe rounded,a work-around is to useandroid: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.

<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 is bottom 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 a hexadecimal value or color resource.
android:endColor
Color. The ending color,as a hexadecimal value 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 hexadecimal value or color resource.
android:type
Keyword. The type of gradient pattern to apply. Valid values are: Description
"linear" A linear gradient. This is the default.
"radial" A radial gradient. The start color is the center color.
"sweep" A sweeping line gradient.
android:useLevel
Boolean. "true" if this is used as a LevelListDrawable.
<padding>
Padding to apply to the containing View element (this pads the position of the View content,not the shape).

attributes:

android:left
Dimension. Left padding,as a dimension value or dimension resource.
android:top
Dimension. Top padding,as a dimension value or dimension resource.
android:right
Dimension. Right padding,as a dimension value or dimension resource.
android:bottom
Dimension. Bottom padding,as a dimension value or dimension resource.
<size>
The size of the shape.

attributes:

android:height
Dimension. The height of the shape,as a dimension value or dimension resource.
android:width
Dimension. The width of the shape,175)"> 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 anImageView,you can restrict scaling by setting theandroid:scaleTypeto"center".

<solid>
A solid color to fill the shape.

attributes:

android:color
Color. The color to apply to the shape,as a hexadecimal value 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 a hexadecimal value or color resource.
android:dashGap
Dimension. The distance between line dashes,as a dimension value or dimension resource. Only valid if android:dashWidthis set.
android:dashWidth
Dimension. The size of each dash line,as a dimension value or dimension resource. Only valid if android:dashGapis set.
example:
XML file saved at 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:
  • ShapeDrawable

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读