Android之通过shape.xml制作渐变背景色

一、在res/drawable/下建一个xml文件,例如:shape_background_grey.xml:

①.简单的类型。

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <gradient  
        android:startColor="#3A3C39"  
        android:endColor="#181818" 
        android:angle="270" 
     /> 
    <corners android:radius="0dp" /> 
</shape>

其中 android:angle="270"代表方向, 270表示从上到下,180表示从右到左,默认从左


②.复杂一点的类型。

<shape xmlns:android="http://schemas.android.com/apk/res/android"  
    android:shape="rectangle">   
    <gradient android:type="radial" android:gradientRadius="250"  
        android:startColor="#E9E9E9" android:endColor="#D4D4D4" />   
</shape>   
  
<shape xmlns:android="http://schemas.android.com/apk/res/android">   
<gradient android:angle="0" android:startColor="#FFdaf3fc"  
  android:centerColor="#FFd4e9a9" android:endColor="#FFdaf3fc"/>   
</shape>  

在这里要注意android:type="radial"类型的使用会有不同的效果,android:centerColor="#FFd4e9a9" 通常这个也不是被人常用。

③.再复杂一点的类型。

<?xml version="1.0" encoding="utf-8"?>   
<shape xmlns:android="http://schemas.android.com/apk/res/android"  
    android:shape="rectangle">   
    <gradient android:startColor="#509245" android:centerColor="#3e8532"  
        android:endColor="#509245" android:type="linear" android:angle="90"  
        android:centerX="0.5" android:centerY="0.5" />   
    <padding android:left="7dp" android:top="7dp" android:right="7dp"  
        android:bottom="7dp" />   
    <corners android:radius="4dp" />   
</shape>  

android:shape 配置的是图形的形式,主要包括方形、圆形等,上边代码为方形。gradient节点主要配置起点颜色、终点颜色、中间点的坐标、中间点的颜色、渐变角度(90度为上下渐变,0为左右渐变),padding节点主要配置上下左右边距,corners节点配置四周园角的半径。

二、使用方法:android:background="@drawable/shape_background_grey"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值