با اینکه قبلا تو همین تالار بحث شده ولی سر راست فایل هاشو نذاشتن گفتم بذارم شاید مفید واقع بشه!!
نیازی به کتابخونه هم نداره خیلی ساده استفاده میشه و کلی هم جای مانور داره رنگهای خیلی جالبی میشه براش پیاده کرد.
هر چند خیلی ها حتی اسمش رو نمیدونن البته منظورم دوستان خارجی بود :قهقهه:
متریال 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 رو باید تغییر بدید.