android經過shape.xml製做漸變背景

編寫xml文件放到res/drawable-*/下面
最基本的寫法以下
<?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:background="@drawable/shape_background_grey"   

<?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:background="@drawable/shape_background_grey" 
其中 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>  

<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>  

<?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

相關文章
相關標籤/搜索