android 渐变drawable

来源:互联网 发布:篮球火 知乎 编辑:程序博客网 时间:2024/06/05 23:39

渐变Drawable是使用<gradient>标记作为形状Drawable定义中的子节点定义的。

每个渐变Drawable都要求至少要有一个startColor和endColor属性,并且支持一个可选的middleColor属性。通过使用type属性,可以把渐变定义为以下的某种类型:

线性:这是默认的渐变类型,它显示了按照angle属性定义的角度从startColor到endColor的直接颜色过渡。

辐射:从形状的外边界到中心绘制从startColor到endColor的圆形渐变。

扫描:绘制一个扫描渐变,它将沿着父形状(通常是一个圆环)的外边界从startColor到endColor进行过渡。

1.在res下新建drawable文件夹。

2.在drawable文件夹下新建xml文件。

3.在组件的bacground属性里引用此文件。

下面是线性的代码和效果:

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"     android:shape="rectangle"    android:useLevel="false"    >    <gradient         android:startColor="#ffffff"        android:endColor="#ffffff"        android:centerColor="#000000"        android:useLevel="false"        android:type="linear"        android:angle="45"        /></shape>



辐射渐变的椭圆

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"     android:shape="oval"    android:useLevel="false"    >    <gradient         android:type="radial"        android:startColor="#ffffff"        android:endColor="#ffffff"        android:centerColor="#000000"        android:useLevel="false"        android:gradientRadius="300"        /></shape>



扫描渐变:

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"     android:shape="ring"    android:useLevel="false"    android:innerRadiusRatio="3"    android:thicknessRatio="8"    >    <gradient         android:startColor="#ffffff"        android:endColor="#ffffff"        android:centerColor="#000000"        android:useLevel="false"        android:type="sweep"        />    </shape><!-- 扫描渐变的椭圆 -->


2 0
原创粉丝点击