怎么为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