為控件設置一個有陰影感的背景圖片即可,可以使用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>
|
設置后的效果圖如下