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

设置后的效果图如下

转载于:https://www.cnblogs.com/imqsl/p/6561299.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值