Изменяется размер изображения ImageButton после setImageResource(), что делать

После определенного события изменяю ресурс изображения кнопки. Картинка большая, после изменения отображается обрезанной в оригинальном размере. До вызова setImageResource() все нормально, а после нет. Вот пример: Пример отображения кнопок

Вот код activity_main.xml:

<ImageButton
    android:id="@+id/btn_switch"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:background="@drawable/btn_on"
    app:layout_constraintBottom_toTopOf="@+id/ip_address"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/switch_status" />

Вот событие изменение изображения кнопки:

switch (text){
            case "0":
                output_switch("ON");
                button_switch.setImageResource(R.drawable.btn_on);
                break;
            case "1":
                output_switch("OFF");
                button_switch.setImageResource(R.drawable.btn_off);
                break;
        }

Не могу найти ответ как решить этот вопрос.


Ответы (1 шт):

Автор решения: Rodney

Помогло добавление свойства android:scaleType="fitXY":

<ImageButton
    android:id="@+id/btn_switch"
    android:layout_width="250dp"
    android:layout_height="250dp"
    android:scaleType="fitXY"
    android:background="@drawable/btn_on"
    app:layout_constraintBottom_toTopOf="@+id/ip_address"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/switch_status" />

Вот что вышло: введите сюда описание изображения

→ Ссылка