Попробуйте,
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/ivMain"
android:layout_width="200dp"
android:layout_height="200dp"
android:contentDescription="@string/app_name"
android:src="@mipmap/ic_launcher"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<FrameLayout
android:layout_width="150dp"
android:layout_height="150dp"
android:background="#99676767"
app:layout_constraintBottom_toBottomOf="@id/ivMain"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/ivMain">
<ImageView
android:layout_width="55dp"
android:layout_height="55dp"
android:layout_gravity="center"
android:contentDescription="@string/app_name"
android:src="@drawable/vector_favorite" />
</FrameLayout>
Ваш тик должен быть в FrameLayout
, который должен быть ограничен, как в коде, поэтому он всегда находится в середине ImageView
,По изображению, я думаю, вы пытаетесь создать длинный щелчок, чтобы выбрать что-то вроде предметов.Если это так, просто установите видимость FrameLayout
в gone
в xml и в событии LongClick установите его в visible
Это результат вышеприведенного кода:
Вы можете поиграть с цветом, чтобы достичь желаемого уровня прозрачности