1. 程式人生 > >Android Material適配 為控制元件設定指定背景色和點選波紋效果

Android Material適配 為控制元件設定指定背景色和點選波紋效果

大部分時候,我們都需要為控制元件設定指定背景色和點選效果
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>

完成。