mdpi( medium-dpi)画面ImageButton
で見栄えのする画像をに配置しました。ただし、デバイスにhdpi(高dpi)画面がある場合でも、画像はピクセルごとに正確であり、デバイス画面では小さく見えます。
画像(したがって)がピクセルではなく密度に依存しないピクセル( dpまたはdipImageButton
)に基づいてスケーリングされるようにするにはどうすればよいですか?
mdpi( medium-dpi)画面ImageButton
で見栄えのする画像をに配置しました。ただし、デバイスにhdpi(高dpi)画面がある場合でも、画像はピクセルごとに正確であり、デバイス画面では小さく見えます。
画像(したがって)がピクセルではなく密度に依存しないピクセル( dpまたはdipImageButton
)に基づいてスケーリングされるようにするにはどうすればよいですか?
android:scaleType="fitXY"
他の選択肢は次のとおりです。
fitStart
fitCenter
fitEnd
center
cenerCrop
centerInside
matrix
私は怠惰で、生のフォルダで非常に大きなPNG画像を使用していることに注意してください。
私見では、 NinePatchDrawableにかなり近いように見えるはずです 。実際には、コンテナのサイズに応じてアイコン(画像/アイコン/その他...)のサイズを変更できるようにするためのツールがあります。それは本当にシンプルで、私のニーズにぴったりです。この記事(パート「NinePatchDrawable」)も参照してください。NinePatchDrawableメカニズムについて説明しています。
NinePatchDrawableグラフィックは、ストレッチ可能なビットマップイメージであり、Androidは、背景として配置したビューのコンテンツに合わせて自動的にサイズを変更します。NinePatchの使用例は、標準のAndroidボタンで使用される背景です。ボタンはさまざまな長さの文字列に対応するために伸ばす必要があります。NinePatchドローアブルは、1ピクセル幅の境界線が追加された標準のPNG画像です。拡張子.9.pngで保存し、プロジェクトのres /drawable/ディレクトリに保存する必要があります。
ポンキンが述べたように、9パッチはあなたの最善の策です。drawable-hdpi
リソースディレクトリ修飾子( 、など)と組み合わせるとdrawable-mdpi
、任意の密度とサイズで見栄えのするアセットを作成できます。
9パッチとリソースディレクトリ修飾子の例は、Multiple ResolutionsAndroidSDKサンプルにあります。半透明の黒い丸みを帯びたコーナーの背景は、ldpi、mdpi、hdpiのさまざまなPNGを使用した9パッチとして実装されています。
たぶん、デバイスに依存しないピクセルでボタンサイズを指定する必要がありますか?
android:layout_width="300dip"
android:layout_height="50dip"