shape 陰影實現(xiàn)方式,總有一款適合你

經(jīng)常有遇到設計給按鈕添加一些陰影,針對這一種情況有以下幾種方式:

1. 求美工妹妹切一張背景圖。- -!

2. 被拒之后- -!自己網(wǎng)上找一些資源,制作一張背景圖,這里推薦一個制作9path的網(wǎng)站:9path神器

3. 使用安卓自帶的默認的背景

在這里插入圖片描述
android:background="@drawable/abc_popup_background_mtrl_mult"

4. 安卓5.0之后使用 也能起到陰影的效果,但是不能自定義顏色,而且偏移的方向都是單向的,無法做到整個按鈕覆蓋,但是這個效果基本滿足。

     <TextView
        android:layout_marginTop="34dp"
        android:layout_gravity="center"
        android:layout_width="300dp"
        android:layout_height="43dp"
        android:gravity="center"
        android:elevation="5dp"
        android:translationZ="5dp"
        android:outlineProvider="background"
        android:background="@drawable/shape_white"
        android:shadowDx="5"
        android:shadowDy="5"
        android:shadowRadius="10"
        android:shadowColor="#00ffffff"
        android:text="android:shadow 屬性"
        android:textSize="14dp" />
在這里插入圖片描述

5. 如果不想使用圖片造成apk體積增大的話,用shape也是比較好的選擇,而且能自定義顏色

在這里插入圖片描述

- 在drawable新建一個layer_list.xml

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
   <item>
       <shape android:shape="rectangle">
           <padding
               android:bottom="2px"
               android:left="2px"
               android:right="2px"
               android:top="2px" />
           <solid android:color="#0DCCCCCC" />
           <corners android:radius="15dp" />
       </shape>
   </item>
   <item>
       <shape android:shape="rectangle">
           <padding
               android:bottom="2px"
               android:left="2px"
               android:right="2px"
               android:top="2px" />
           <solid android:color="#10CCCCCC" />
           <corners android:radius="15dp" />
       </shape>
   </item>
   <item>
       <shape android:shape="rectangle">
           <padding
               android:bottom="2px"
               android:left="2px"
               android:right="2px"
               android:top="2px" />
           <solid android:color="#15CCCCCC" />
           <corners android:radius="15dp" />
       </shape>
   </item>
   <item>
       <shape android:shape="rectangle">
           <padding
               android:bottom="2px"
               android:left="2px"
               android:right="2px"
               android:top="2px" />
           <solid android:color="#20CCCCCC" />
           <corners android:radius="15dp" />
       </shape>
   </item>
   <item>
       <shape android:shape="rectangle">
           <padding
               android:bottom="2px"
               android:left="2px"
               android:right="2px"
               android:top="2px" />
           <solid android:color="#30CCCCCC" />
           <corners android:radius="15dp" />
       </shape>
   </item>
   <item>
       <shape android:shape="rectangle" >
           <solid android:color="#14898989" />
           <corners android:radius="15dp" />
           <padding android:bottom="2px"
               android:left="2px"
               android:right="2px"
               android:top="2px" />
       </shape>
   </item>
   <item>
       <shape android:shape="rectangle" >
           <corners android:radius="15dp" />
           <solid android:color="#FFFFFF" />
           <padding
               android:bottom="3px"
               android:left="3px"
               android:right="3px"
               android:top="3px" />
       </shape>
   </item>
</layer-list>

- 使用

 android:background="@drawable/layer_white_bg"

6. 自定義view繪制shadow,利用安卓API

paint.setShadowLayer(float radius, float dx, float dy, int shadowColor);
radius: 陰影半徑,主要可以控制陰影的模糊效果以及陰影擴散出去的大小。
dx:陰影在X軸方向上的偏移量
dy: 陰影在Y軸方向上的偏移量
shadowColor: 陰影顏色。

優(yōu)秀自定義練習代碼推薦:

  1. https://github.com/cjlemon/Shadow
  2. https://github.com/dmytrodanylyk/shadow-layout
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    wgl0419閱讀 6,575評論 1 9
  • 內容 抽屜菜單 ListView WebView SwitchButton 按鈕 點贊按鈕 進度條 TabLayo...
    小狼W閱讀 1,666評論 0 10
  • 楔子 鳶尾從出世到現(xiàn)在已經(jīng)長到七千歲了,此前從未出過花澤,這是她第一次躍出結界,來到人間。 不同于花澤的清凈圣潔,...
    請叫我千花大人閱讀 477評論 3 2
  • 方芳芳
    CoCo23閱讀 460評論 0 1
  • 今天mark一下navgationbar的知識,有時候我們項目需要做像網(wǎng)易云音樂那樣的navgationbar,有...
    JiangSy閱讀 1,132評論 0 1

友情鏈接更多精彩內容