在開發(fā)過程經常遇到UI設計出來的按鈕點擊效果與ios一樣,當看到這樣的UI設計時候,第一反應是不是要找UI切圖,沒辦法自己繪制嗎?在這里我們要來學習下自己如何繪制出這樣效果的UI。大家先看下實現(xiàn)好的效果圖

演示圖.gif
怎么樣,是不是跟ios上的效果一樣,其實實現(xiàn)起來很簡單,話不多說,直接上代碼
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false">
<shape android:shape="rectangle">
<corners android:radius="50dp" />
<solid android:color="#8AFF5658" />
</shape>
</item>
<item android:state_pressed="false">
<shape android:shape="rectangle">
<corners android:radius="50dp" />
<solid android:color="#FF5658" />
</shape>
</item>
<item android:state_pressed="true">
<layer-list>
<item>
<shape android:shape="rectangle">
<corners android:radius="50dp" />
<solid android:color="#FF5658" />
</shape>
</item>
<item>
<shape android:shape="rectangle">
<corners android:radius="50dp" />
<solid android:color="#3A000000" />
</shape>
</item>
</layer-list>
</item>
</selector>
接下來我們來看看設置的幾個屬性
①android:state_enabled="false" 表示當按鈕設置不可點擊【button.setEnable(false)】的時候樣式,這個屬性必須要最先設置,不然沒法生效。
②android:state_pressed="false" 表示未點擊觸摸時候的樣式
③android:state_pressed="true" 表示點擊觸摸時候的樣式,可以看到我們 <layer-list>這個標簽,我們就是使用了層疊顏色實現(xiàn)了仿IOS的點擊效果。最先設置的會在底層。