經(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: 陰影顏色。