ここに私の問題を理解するのに役立つ写真があります:
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" />
問題の原因はわかったと思います。画像のみを含み、クリック効果のあるカスタムコンポーネントが必要です。
ImageButtonはImageViewです。
画像をボタンで埋める場合
設定Android:scaleType="fitXY"
より、Android:src
で設定した画像は、画像ボタン全体に拡大されます。
ImageButtonには、画像とパディングの下に背景があります。
背景が不要な場合
セットAndroid:background="@Android:color/transparent"
。
パディングが不要な場合
set Android:padding="0"
またはパディングなしで背景を設定します。
あなたも使うことができます
Android:scaleType="centerCrop"
Android:padding="0dp"
Android:scaleType="fitXY"
テスト済みで、正しく動作します。
以下のコードを使用してください:-
<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" />
画像を引き伸ばす必要があるが、画像がゆがむことがないようにしたい場合は、画像を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 =サイズ変更可能なスキンを持つボタン) 。
画像「111」自体にパディングがない場合は、単にAndroid:background "@ drawable/111"を使用します