با اینکه قبلا تو همین تالار بحث شده ولی سر راست فایل هاشو نذاشتن گفتم بذارم شاید مفید واقع بشه!!
نیازی به کتابخونه هم نداره خیلی ساده استفاده میشه و کلی هم جای مانور داره رنگهای خیلی جالبی میشه براش پیاده کرد.
هر چند خیلی ها حتی اسمش رو نمیدونن البته منظورم دوستان خارجی بود
متریال Ripple برای کنترلهایی که میشه براشون خاصیت Style رو دارن می تونید استفاده کنید و البته خاصیت Background هم داشته باشن چون به هر حال یک کنترل Shape که به صورت انیمیشن در می آید
توی Style.xml
<style name="My.Colored.Button.Blue" parent="Base.Widget.AppCompat.Button.Colored">
<item name="android:background">@drawable/my_button_colored</item>
<item name="android:textAppearance">@style/My.TextAppearance</item>
</style>
اینم my_button_colored.xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/my_btn_default_mtrl_shape" />
</layer-list>
اینم my_btn_default_mtrl_shape.xml
<?xml version="1.0" encoding="utf-8"?>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
>
<ripple android:color="@color/black_btn_ripple_blue"
>
<item>
<shape android:shape="rectangle">
<corners
android:radius="@dimen/my_abc_control_corner_material" />
<solid
android:color="@color/btn_shape_with_ripple_back_blue" />
</shape>
</item>
</ripple>
</inset>
این روش استفاده
<Button
android:id="@+id/btn_login"
style="@style/My.Colored.Button.Blue"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_gravity="center"
android:layout_marginRight="15dp"
android:layout_weight="1"
android:text="@string/login_btn_desc"
android:textColor="@color/white"
android:textSize="15sp"/>
البته به راحتی میتونین خاصیت های Ripple رو خیلی راحت تغییر بدید چه رنگ شو و چه مقدار radius اشو برای مقدار دایره ای که تشکیل میشه اگر برای کنترل های غیر از Button خواستید استفاده کنید نوع Shape رو باید تغییر بدید.