it-roy-ru.com

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

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

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" />

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

19
user2051993

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

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

55
Leonidos

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

Android:scaleType="centerCrop"
Android:padding="0dp"
7
zackygaurav

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

<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" />
2
duggu

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

1
danny117

Вам следует подумать о создании изображения из 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 с изменяемым размером обложки) .

1
Andrea Bresolin

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

0
Josh