web-dev-qa-db-ja.com

imagebuttonの画像をimagebuttonの領域全体に拡大するにはどうすればよいですか?

ここに私の問題を理解するのに役立つ写真があります:

It's a "1"

ImageButton内に表示される画像をImageButtonの領域全体に引き伸ばしたいと思います。ご覧のように、数字1の画像はImageButtonの約95%しか占めておらず、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" />

問題の原因はわかったと思います。画像のみを含み、クリック効果のあるカスタムコンポーネントが必要です。

22
user2051993

ImageButtonはImageViewです。
画像をボタンで埋める場合
設定Android:scaleType="fitXY"より、Android:srcで設定した画像は、画像ボタン全体に拡大されます。

ImageButtonには、画像とパディングの下に背景があります。
背景が不要な場合
セットAndroid:background="@Android:color/transparent"
パディングが不要な場合
set Android:padding="0"またはパディングなしで背景を設定します。

58
Leonidos

あなたも使うことができます

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

Android:scaleType="fitXY"テスト済みで、正しく動作します。

2
danny117

以下のコードを使用してください:-

<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

画像を引き伸ばす必要があるが、画像がゆがむことがないようにしたい場合は、画像をImageButtonに正しく合わせるために9パッチ画像の作成を検討する必要があります。

完全に覆う画像のボタンを作成するには、次のようなものを使用できます。

<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