Я хотел бы использовать getLocationOnScreen
для определения местоположения ImageView, а затем я бы хотел разместить другой ImageView именно в этом месте.
Предположим, они оба находятся в одном макете. При запуске приложения отображается только imgv1
. Пользователь может перемещать и поворачивать это изображение. Затем пользователь может нажать кнопку и второе изображение, imgv2
должно быть размещено точно поверх imgv1
, чтобы оно покрывало его. И imgv1
, и imgv2
имеют одинаковый размер.
Например, предположим, что у меня imgv1
и imgv2
как:
ImageView imgv1, imgv2;
int[] img_coordinates = new int[2];
imgv1.getLocationOnScreen(img_coordinates);
Я хотел использовать что-то вроде:
imgv2.setX(img_coordinates[0]);
imgv2.setY(img_coordinates[2]);
но это не делает то, что мне нужно сделать, то есть поместить верхний левый угол imgv2
в верхний левый угол imgv1
.
Любой другой метод, который помогает мне сделать это, тоже подойдет.
** Обновление **
Это макет, который у меня есть:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/tools_root"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent">
<ImageView
android:id="@+id/imgv1"
android:layout_width="300dp"
android:layout_height="200dp"
android:layout_gravity="center_vertical|center_horizontal"
android:visibility="gone"
app:cameraCropOutput="true"
app:cameraPlaySounds="false" />
<ImageView
android:id="@+id/imgv2"
android:layout_width="300dp"
android:layout_height="200dp"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:visibility="gone" />
</FrameLayout>