Как поменять местами ImageView?

Для того чтобы поменять местами ImageView в Android, можно воспользоваться различными подходами и методами. Вот несколько способов, которые можно использовать:

1. Используя RelativeLayout:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/image1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image1"
        ... />

    <ImageView
        android:id="@+id/image2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image2"
        ... />

</RelativeLayout>

Далее, в коде, можно использовать методы bringToFront() и sendToBack() для изменения порядка отображения:

ImageView image1 = findViewById(R.id.image1);
ImageView image2 = findViewById(R.id.image2);

// Помещаем image1 поверх image2
image1.bringToFront();

// Помещаем image2 поверх image1
image2.bringToFront();

2. Используя LinearLayout:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <ImageView
        android:id="@+id/image1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image1"
        ... />

    <ImageView
        android:id="@+id/image2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image2"
        ... />

</LinearLayout>

Также, можно использовать методы removeView() и addView() для изменения порядка отображения:

LinearLayout layout = findViewById(R.id.layout);

ImageView image1 = findViewById(R.id.image1);
ImageView image2 = findViewById(R.id.image2);

// Удаляем image1 из LinearLayout
layout.removeView(image1);

// Добавляем image1 вторым элементом
layout.addView(image1, 1);

3. Используя ConstraintLayout:

<androidx.constraintlayout.widget.ConstraintLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/image1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image1"
        ... />

    <ImageView
        android:id="@+id/image2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/image2"
        ... />

</androidx.constraintlayout.widget.ConstraintLayout>

В этом случае, можно использовать методы ConstraintSet.connect() и ConstraintSet.applyTo() для изменения позиции элементов:

ImageView image1 = findViewById(R.id.image1);
ImageView image2 = findViewById(R.id.image2);

ConstraintLayout layout = findViewById(R.id.layout);
ConstraintSet constraintSet = new ConstraintSet();

// Сначала помещаем image1 на правую сторону layout
constraintSet.connect(image1.getId(), ConstraintSet.RIGHT, layout.getId(), ConstraintSet.RIGHT, 0);
constraintSet.applyTo(layout);

// Затем помещаем image2 на левую сторону layout
constraintSet.connect(image2.getId(), ConstraintSet.LEFT, layout.getId(), ConstraintSet.LEFT, 0);
constraintSet.applyTo(layout);

Таким образом, в зависимости от используемого макета и требований к размещению ImageView, можно выбрать подходящий метод для изменения их местоположения. Описанные выше способы позволят вам легко менять местами ImageView в вашем приложении на платформе Android.