Подтвердить что ты не робот

Как растянуть изображение в кнопке с изображением на всю область кнопки изображения?

Вот изображение, которое поможет вам понять мою проблему:

It's a "1"

Я хочу растянуть изображение, показанное внутри ImageButton, на всю область ImageButton. Как вы можете видеть, изображение с номером 1 занимает примерно 95% от ImageButton, и вы также можете видеть границы ImageButton.

Я все еще хочу сохранить стиль кнопки изображения

Вот как я использую ImageView:

<ImageButton
    android:id="@+id/secondActivityBbuttonDownRight"
    android:layout_width="0dip"
    android:layout_height="match_parent"
    android:layout_weight="0.5"
    android:scaleType="fitStart"
    android:src="@drawable/111" />

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

4b9b3361

Ответ 1

ImageButton - ImageView.
Если вы хотите, чтобы ваше изображение заполнило кнопку
чем установить android:scaleType="fitXY", поэтому изображение, установленное в android:src, будет растянуто, чтобы заполнить кнопку полного изображения.

ImageButton имеет фон под вашим изображением и дополнением.
Если вы не хотите, чтобы фон set android:background="@android:color/transparent".
Если вы не хотите заполнять установите android:padding="0" или установите фон без заполнения.

Ответ 2

Вы также можете использовать

android:scaleType="centerCrop"
android:padding="0dp"

Ответ 3

Используйте ниже код: -

<ImageButton
        android:id="@+id/secondActivityBbuttonDownRight"
        android:layout_width="0dip"
        android:layout_height="match_parent"
        android:layout_weight="0.5"
        android:scaleType="fitStart"
        android:background="@drawable/111" />

Ответ 4

Вам следует подумать о создании изображения с 9 патчами, чтобы изображение правильно соответствовало ImageButton, если вам нужно его растянуть, но вы не хотите, чтобы изображение искажалось.

Чтобы иметь кнопку с полностью закрытым изображением, вы можете использовать что-то вроде этого:

<ImageButton android:id="@+id/iconBtn"
  android:layout_width="64dip"
  android:layout_height="64dip"
  android:src="@drawable/icon_button"
  android:scaleType="fitCenter"
  android:background="#00000000"/>

Для полного руководства по созданию кнопок с пользовательскими скинами и использованию селекторов для управления их состояниями вы можете проверить учебник, который я написал некоторое время назад здесь (Создание пользовательской кнопки Android с изменяемым размером).

Ответ 5

android:scaleType="fitXY" протестирован и работает правильно.

Ответ 6

Если ваше изображение "111" не имеет прокладки, просто используйте андроид: фон "@drawable/111"