shape使用、渐变色、分割线、边框、半透明、半透明阴影效果。

首先简单了解一下shape中常见的属性。(详细介绍参看 api文档)

xmlns:android="http://schemas.android.com/apk/res/android"

android:shape=["rectangle" | "oval" | "line" | "ring"] > --- 默认为rectangle

android:radius="integer" -- 半径,会被下边的属性覆盖,默认为1dp,

android:topLeftRadius="integer"

android:topRightRadius="integer"

android:bottomLeftRadius="integer"

android:bottomRightRadius="integer" />

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"] />

android:left="integer"

android:top="integer"

android:right="integer"

android:bottom="integer" />

android:width="integer"

android:height="integer" />

android:color="color" />

android:width="integer"

android:color="color"

android:dashWidth="integer" -- 虚线宽度

android:dashGap="integer" /> -- 虚线间隔宽度

注意:

1、android:radius,半径,会被下边的单个角度半径属性覆盖,默认为1dp,

2、在使用时,如果单独设置四个角度,又大小不一致时,eclipse的graphics preview会报错。但是直接真机运行即可。(比如实线上边直角,下边屈角的效果)

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 ImageView, you can restrict scaling by setting the android:scaleType to "center"

举个栗子:

1、渐变色 res/drawable/gradient_box.xml:

android:shape="rectangle">

android:startColor="#FFFF0000"

android:endColor="#80FF00FF"

android:angle="45"/>

android:top="7dp"

android:right="7dp"

android:bottom="7dp" />

如图:

e7786b618236c30d471a656c82e448dc.png

2、白色边框、半透明效果

android:shape="rectangle" >

android:dashGap="0dp"

android:width="4dp"

android:color="@android:color/white" />

如图:

788ad6148a8ed61f54bd252d730260d3.png   

bf7de3df6a9d5d80421824acf4a255ca.png

3、分割线效果:

android:shape="line" >

android:width="4dp"

android:color="@android:color/black" />

如图:

6ee7e9b489baead4c88e162ebfd2f5e3.png

4、单边屈角效果

android:topLeftRadius="5dp"

android:topRightRadius="5dp"

android:bottomLeftRadius="30dp"

android:bottomRightRadius="30dp"/>

android:dashGap="0dp"

android:width="4dp"

android:color="@android:color/white" />

如图:

9171fa202597cad5e4d88fc8e4ca8b42.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持得牛网。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐