close
在android 5.0版本,增加了水波動化效果
一開始我還以爲是sony個人特色呢(很不專業)
以下是簡單的程式碼
在drawable中新增ripple_sample.xml
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/ripple_sample_color"> <!--ripple中的color為點擊時的顏色--> <!--基本顏色--> <item> <color android:color="#dddddd"/> </item> </ripple>
其中,ripple是點擊時水波效果的顏色(紫色 #ac6fc2),其預設(即為無動作)是為裡頭的item
其效果如下圖:
可在其中加入shape屬性設定其圓角顏色等等
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/ripple_sample_color"> <!--ripple中的color為點擊時的顏色--> <!--基本顏色--> <item> <shape> <solid android:color="#dddddd" /> <corners android:radius="5dip"/> </shape> </item> </ripple>
其效果如下圖
新增後ripple_sample,在需要的button或其他物件上,設定background便會生效囉!!
若APP需要支援4.4以上,那水波效果要怎麼處理呢?
一個簡單的做法,使用動態設定background的方式,不使用android:background.
利用Bulid.version sdk_int 大於LOLLIPOP(21)來判定囉!
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) btn.setBackgroundResource(R.drawable.ripple_sample); else btn.setBackgroundResource(android.R.drawable.btn_default);
文章標籤
全站熱搜
留言列表