怎么為android控件邊緣添加陰影


為控件設置一個有陰影感的背景圖片即可,可以使用shape

 

在自定義shape中增加一層或多層,並錯開,即可顯示陰影效果。為增加立體感,按鈕按下的時候,只設置一層。我們可以通過top, bottom, right 和 left 四個參數來控制陰影的方向和大小

 

 

//自定義兩種陰影效果

第一種

<?xml version= "1.0"  encoding= "utf-8" ?>
 
<selector xmlns:android= "http://schemas.android.com/apk/res/android" >  
   <item android:state_pressed= "true"
     <layer-list> 
       <item android:left= "4dp"  android:top= "4dp" >
         <shape> 
           <solid android:color= "#ff58bb52" />  
           <corners android:radius= "30dip" /> 
         </shape>
       </item> 
     </layer-list> 
   </item>  
   <item> 
     <layer-list> 
       <!-- 第一層 -->  
       <item android:left= "4dp"  android:top= "4dp" >
         <shape> 
           <solid android:color= "#66000000" />  
           <corners android:radius= "30dip" />  
           <!-- 描邊 -->  
           <stroke android:width= "1dp"  android:color= "#ffffffff" /> 
         </shape>
       </item>  
       <!-- 第二層 -->  
       <item android:bottom= "4dp"  android:right= "4dp" >
         <shape> 
           <solid android:color= "#ff58bb52" />  
           <corners android:radius= "30dip" />  
           <!-- 描邊 -->  
           <stroke android:width= "1dp"  android:color= "#ffffffff" /> 
         </shape>
       </item> 
     </layer-list>
   </item> 
</selector>

 

第二種

<?xml version= "1.0"  encoding= "utf-8" ?>
 
<selector xmlns:android= "http://schemas.android.com/apk/res/android" >  
   <!-- 點擊之后 -->  
   <item android:state_pressed= "true"
     <layer-list> 
       <item android:left= "4dp"  android:top= "4dp"
         <shape> 
           <solid android:color= "#ff58bb52" />  
           <corners android:radius= "3dp" /> 
         </shape> 
       </item> 
     </layer-list>
   </item>  
   <!-- 正常狀態 -->  
   <item> 
     <layer-list> 
       <!-- 第一層 -->  
       <item android:left= "2dp"  android:top= "2dp"
         <shape> 
           <solid android:color= "#66000000" />  
           <corners android:radius= "3dp" /> 
         </shape> 
       </item>  
       <!-- 第二層 -->  
       <item android:bottom= "4dp"  android:right= "4dp"
         <shape> 
           <solid android:color= "#ff58bb52" />  
           <corners android:radius= "3dp" /> 
         </shape> 
       </item>  
       <!-- 第三層 -->  
       <item android:bottom= "6dp"  android:right= "6dp"
         <shape> 
           <solid android:color= "#ffcccccc" />  
           <corners android:radius= "3dp" /> 
         </shape> 
       </item> 
     </layer-list> 
   </item> 
</selector>

設置后的效果圖如下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM