Создание эффекта Ripple в компоненте Button с дочерним элементом - PullRequest
0 голосов
/ 17 сентября 2018

Я пытаюсь собрать кнопку из изображения ниже в Android.Кнопка в настоящее время реализована как Button с ImageView внутри ContraintLayout и работает как положено.

Button with child element

Что мне нужноТеперь добавим эффект Ripple, который распространяется на дочерний элемент ImageView.В текущем коде, когда я нажимаю Button, эффект пульсации заставляет + ImageView исчезать и появляться снова.Что я хочу, так это то, что когда волновой эффект достигает + ImageView, он попадает в элемент и распространяется там.Текущий код выглядит следующим образом:

<android.support.constraint.ConstraintLayout
    android:id="@+id/button_attach_camera"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/shape_card_header"
    android:backgroundTint="@color/detailsCardBackground"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/finish_input_body_visit_attachments_header_card"
    app:layout_constraintBottom_toTopOf="@+id/recycler_attachments">

    <android.support.v7.widget.AppCompatButton
        android:id="@+id/add_image_from_album"
        android:layout_width="100dp"
        android:layout_height="74dp"
        android:layout_marginStart="40dp"
        android:layout_marginEnd="36dp"
        android:layout_marginTop="8dp"
        android:background="@drawable/shape_status_card"
        android:drawableTop="@drawable/ic_gallery"
        android:fontFamily="@font/rubik"
        android:foreground="?android:attr/selectableItemBackgroundBorderless"
        android:paddingBottom="12dp"
        android:paddingEnd="12dp"
        android:paddingStart="12dp"
        android:paddingTop="12dp"
        android:text="@string/visit_finish_album_button"
        android:textAppearance="@style/TextAppearance.AppCompat"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintEnd_toEndOf="parent" />


    <android.support.v7.widget.AppCompatImageView
        android:id="@+id/add_from_album_button"
        android:layout_width="24dp"
        android:layout_height="24dp"
        android:layout_marginStart="0dp"
        android:layout_marginTop="48dp"
        android:background="@drawable/shape_rounded_button_no_background"
        android:clickable="true"
        android:focusable="true"
        android:elevation="2dp"
        android:src="@drawable/ic_add_circle"
        app:layout_constraintStart_toStartOf="@+id/add_image_from_album"
        app:layout_constraintTop_toTopOf="@+id/add_image_from_album" />

</android.support.constraint.ConstraintLayout>
...