Эффект ряби - PullRequest
       80

Эффект ряби

0 голосов
/ 09 декабря 2018

У меня есть следующий проект в Github: https://github.com/Ali-Rezaei/PadLayout

Он включает в себя макет (для dialpad4) с именем 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>

Имеет волновой эффект:

<?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" />

В настоящий момент размер волнового эффекта слишком велик.Есть ли решение, чтобы уменьшить волновой эффект?

1 Ответ

0 голосов
/ 09 декабря 2018

Радиус RippleDrawable по умолчанию вычисляется автоматически на основе размера его контейнера.Вы можете использовать атрибут radius, чтобы установить свой собственный размер.

<?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" />

См .: https://developer.android.com/reference/android/graphics/drawable/RippleDrawable.html#attr_android:radius

...