I have following project in Github : https://github.com/Ali-Rezaei/PadLayout
It includes a layout(for dialpad4) called fragment_dialpad_animation
:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:custom="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageButton
android:id="@+id/num_pad_btn"
android:layout_width="@dimen/call_button_width"
android:layout_height="@dimen/call_button_height"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"
android:background="@drawable/circle_blue"
android:src="@drawable/ic_dialpad_white_24dp"
tools:ignore="ContentDescription" />
<LinearLayout
android:id="@+id/number_pad"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="#FFF"
android:orientation="vertical">
<com.github.ali.android.client.customview.view.PadLayout
android:id="@+id/padLayout"
style="@style/PadLayoutStyle.Animation"
android:layout_width="match_parent"
android:layout_height="320dp"
custom:numColumns="3"
custom:numRows="4">
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button1"
style="@style/PadButtonStyle.Ripple"
custom:letterGone="false"
custom:numberText="1" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button2"
style="@style/PadButtonStyle.Ripple"
custom:letterText="ABC"
custom:numberText="2" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button3"
style="@style/PadButtonStyle.Ripple"
custom:letterText="DEF"
custom:numberText="3" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button4"
style="@style/PadButtonStyle.Ripple"
custom:letterText="GHI"
custom:numberText="4" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button5"
style="@style/PadButtonStyle.Ripple"
custom:letterText="JKL"
custom:numberText="5" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button6"
style="@style/PadButtonStyle.Ripple"
custom:letterText="MNO"
custom:numberText="6" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button7"
style="@style/PadButtonStyle.Ripple"
custom:letterText="PQRS"
custom:numberText="7" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button8"
style="@style/PadButtonStyle.Ripple"
custom:letterText="TUV"
custom:numberText="8" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button9"
style="@style/PadButtonStyle.Ripple"
custom:letterText="WXYZ"
custom:numberText="9" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button10"
style="@style/PadButtonStyle.Ripple"
custom:letterGone="false"
custom:numberText="*" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button11"
style="@style/PadButtonStyle.Ripple"
custom:letterText="+"
custom:numberText="0" />
<com.github.ali.android.client.customview.view.DialPadKey
android:id="@+id/button12"
style="@style/PadButtonStyle.Ripple"
custom:letterGone="false"
custom:numberText="#" />
</com.github.ali.android.client.customview.view.PadLayout>
<include
layout="@layout/call_button"
android:id="@+id/call_button"
android:layout_width="@dimen/call_button_width"
android:layout_height="@dimen/call_button_width"
android:layout_gravity="center"
android:layout_marginBottom="16dp" />
</LinearLayout>
</RelativeLayout>
It has a ripple effect :
<?xml version="1.0" encoding="utf-8"?>
<!-- unbounded ripple effect ?android:attr/selectableItemBackgroundBorderless -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/dialpad_button_pressed" />
At the current moment the size of ripple effect is too large. Is there any solution to shrink ripple effect?
RippleDrawable's radius is by default computed automatically based on its container's size. You can use radius
attribute to set your own size.
<?xml version="1.0" encoding="utf-8"?>
<!-- unbounded ripple effect ?android:attr/selectableItemBackgroundBorderless -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/dialpad_button_pressed" android:radius="56dp" />