20

主に apk のサイズを小さくするために 9png を使用します。しかし、私は独特の問題に直面しています。9pngs をどのフォルダーに配置する必要があるのか​​ わかりません。それらを HDPI フォルダーに配置しました。Androidは「賢い」ので、MDPI電話でアプリを使用すると、クレイジーな効果を生み出す9pngを「スケーリング」するように見えます。Galaxy noteで試すまで、大きな問題はありませんでした。9png が HDPI から取得されてスケーリングされたように見え (メモは 800x1280 です)、奇妙な効果が作成されました。

  • では、9png を配置する適切な場所はどこでしょうか?
  • Androidシステムに、配置されているフォルダに基づいて9pngを「スケーリング」しないように指示するにはどうすればよいですか?
4

3 に答える 3

15

Googleグループに関するRomain Guyの回答によると:

縮小時の 9-patch の動作は未定義です。実際には、9patch のさまざまなセクションが重なっているのがわかります。それをしないでください:)

私のプロジェクトで気付いたことから、9PNG は通常の PNG と同じように縮小されているため、通常、デザイナーに と の画像のセット全体を要求し、ldpi, mdpi, hdpiそれらxhdpiをすべて 9 パッチに変換します。

単純なボタンの背景のような非常に単純な 9 パッチがない限り、伸ばしたり縮めたりしても違いがないので、通常は通常のdrawableフォルダーに配置します。

于 2012-05-03T10:40:35.020 に答える
11

9 パッチの画像でも同様の問題がありました。res/drawableフォルダに配置すると、画面上で機能しませんでしたldpi(画像がゆがみ、透明度が失われました)。

私にとっての解決策は、それをres/drawable-nodpiフォルダーに入れることでした。ドキュメントには次のように記載されています。

これは、デバイスの密度に合わせてスケーリングしたくないビットマップ リソースに使用できます。

于 2012-05-16T15:41:07.830 に答える
0

9png を HDPI フォルダーに入れるだけです。

Galaxy Noteで効果が奇妙に見える場合。

デザイナーに依頼して、XHDPI 用の新しい 9png ファイルを提供してもらいます。次に、新しいファイルをフォルダー XHDPI に入れます。

于 2012-05-03T09:24:55.227 に答える