Android自定义边框加阴影

Android自定义边框加阴影,第1张

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://54852.com/bake/11843197.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存