Эффект затухания не будет работать в CoordinatorLayout - PullRequest
0 голосов
/ 29 марта 2020

У меня есть эта кнопка с изображением, которую мне нужно добавить или убрать, когда я нажимаю на представление изображения.

Макет такой, как показано ниже:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center"
    android:id="@+id/transitions">

    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/profile_picture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/rounded_image_desc"
        android:gravity="start"
        app:civ_border_color="@color/fadedText"
        app:civ_border_width="0.1dp" />

    <ImageButton
        android:padding="8dp"
        android:scaleType="centerInside"
        android:elevation="3dp"
        android:id="@+id/update_profile_pic"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_menu_camera"
        android:background="@drawable/round_button"
        android:backgroundTint="@color/colorAccent"
        android:visibility="gone"
        app:layout_anchor="@id/profile_picture"
        app:layout_anchorGravity="bottom|right|end"/>

</androidx.coordinatorlayout.widget.CoordinatorLayout>

Я пытаюсь включите или выключите эффект, как показано ниже. Проблема в том, что эффект затухания не будет работать должным образом, но он становится невидимым сразу после прикосновения к изображению.

final ViewGroup transitions = findViewById(R.id.transitions);
final ImageButton update_profile_pic = findViewById(R.id.update_profile_pic);
final CircleImageView profile_picture = findViewById(R.id.profile_picture);

profile_picture.setOnClickListener(new OnClickListener() {

        boolean isVisible;

        @Override
        public void onClick(View v) {

            TransitionManager.beginDelayedTransition(transitions);

            isVisible = !isVisible;

            update_profile_pic.setVisibility(isVisible ? View.VISIBLE : View.GONE);
        }
    });

Я заметил, что при удалении app:layout_anchor="@id/profile_picture" с кнопки изображения затухание Эффект работает правильно, но мне нужно, чтобы кнопка изображения была в нижней части окна просмотра изображения.

Под изображением:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...