AndroidAndroid开发经验谈Android开发

详解Android中Shape的用法

2017-09-13  本文已影响125人  一本未写完的书

工作中总是会用到shape去画一些背景,每次都要去百度,但是很多都写的很模糊或者属性不是很全,所以今天自己总结了一下,给大家分享一下,自己以后也可以看。

ShapeDrawable是一种很常见的Drawable,可以理解为通过颜色来构造的图形,它既可以是纯色的图形,也可以是具有渐变效果的图形,ShapeDrawabled语法稍显复杂,如下所示:

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape=["rectangle" | "oval" | "line" | "ring"] >
    <corners
        android:radius="integer"
        android:topLeftRadius="integer"
        android:topRightRadius="integer"
        android:bottomLeftRadius="integer"
        android:bottomRightRadius="integer" />
    <gradient
        android:angle="integer"
        android:centerX="integer"
        android:centerY="integer"
        android:centerColor="integer"
        android:endColor="color"
        android:gradientRadius="integer"
        android:startColor="color"
        android:type=["linear" | "radial" | "sweep"]
        android:useLevel=["true" | "false"] />
    <padding
        android:left="integer"
        android:top="integer"
        android:right="integer"
        android:bottom="integer" />
    <size
        android:width="integer"
        android:height="integer" />
    <solid
        android:color="color" />
    <stroke
        android:width="integer"
        android:color="color"
        android:dashWidth="integer"
        android:dashGap="integer" />
</shape>

<size
android:width="200dp"
android:height="20dp"
/>
<solid android:color="#d22121"/>
</shape>`
通过设置size设置矩形的宽度和高度,这里需要说明一下,咱们在这里设置size的宽高,在最终显示尺寸是没有用的,也就是说当你在一个控件中设置background的时候,这个shape是会被拉伸或者缩小为view的大小。solid属性设置矩形里面的背景颜色。

这里写图片描述

<size
android:width="200dp"
android:height="20dp"
/>
<gradient
android:startColor="#fff"
android:centerColor="#f1a9a9"
android:endColor="#ec5b5b"
android:type="linear"
/>
</shape>`

好了,其实里面的东西很简单,总结一下就好了。希望大家用的开心,

上一篇 下一篇

猜你喜欢

热点阅读