5

セレクターのアイテム要素のドローアブルとして 9 パッチ イメージを使用しています。9 パッチの画像は次のとおりです。

9パッチ画像

最終的にレンダリングされる画像は次のとおりです (エミュレーターとデバイスのスクリーンショット、両方のデバイスの解像度 > mdpi):

結果のレンダリング イメージ

ご覧のとおり、(9 パッチ ファイルで定義されているように) 伸縮可能な領域の外側で拡大縮小されており、濃い緑色のバーは本来あるべきほど太くなっています。それはなぜですか、また回避できますか? draw9patch ツールは、この画像を正しくスケーリングします。Android が高解像度デバイスで物理的な寸法を維持しようとしていることに関係がありますか?

4

2 に答える 2

6

イメージの mdpi バージョンのみを提供していますか?

Android は、正しいピクセル密度で利用できないすべての画像をスケーリングします。これは、画像が 9patch によってスケーリングされる前に発生します。

これは、画像が hdpi に合わせて拡大されてから、コンテンツに合わせて拡大されることを意味します。

これを修正するには、イメージの hdpi および xhdpi バージョンを提供する必要があります。9patch は、さまざまなピクセル密度を対象とするのではなく、さまざまなコンテンツ/画面サイズを対象とすることになっています。

于 2013-02-07T15:17:06.547 に答える
3

私はあなたの9パッチをチェックアウトしました:

ここに画像の説明を入力

使用されていない境界を白くしたのはなぜですか? 透明にする必要があります。このため、9Patch として認識されません。

ここに画像の説明を入力

于 2013-02-07T15:18:17.653 に答える