Android Material適配 為控制元件設定指定背景色和點選波紋效果
阿新 • • 發佈:2018-12-31
大部分時候,我們都需要為控制元件設定指定背景色和點選效果
4.x以下可以使用selector,5.0以上需要帶波紋效果,以下是實現該效果的方法。
比如實現Button的Material適配
<Button
android:text="TextView in CardView"
android:layout_gravity="center"
android:textSize="26sp"
android:textColor="@android:color/white"
android:clickable="true"
android:background="@drawable/button_selector"
android:padding="5dip"
android:elevation="8dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
1.建立drawable和drawable-v21兩個資原始檔夾
2.在drawable中建立一個button_selector.xml的檔案,設定需要的點選效果,使用selector實現。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" android:state_pressed="false"/>
<item android:drawable="@color/grey" android:state_pressed="true"/>
<item android:drawable ="@android:color/white"/>
</selector>
3.在drawable-v21中建立一個與drawable中同名的button_selector.xml的檔案,設定需要的點選效果,ripple是Material的波紋效果。
<?xml version="1.0" encoding="utf-8"?>
<ripple
xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/grey">//點選時波紋的顏色
<item android:drawable="@android:color/white"/>//未點選時控制元件的顏色
</ripple>
完成。