Android
9パッチ画像
サーチ…
備考
9パッチ画像ファイルは特別にフォーマットされたファイルであるため、画像のどの領域/部分が拡大縮小できるかどうかはAndroidに認識されます。あなたのイメージを3x3グリッドに分割します。コーナーはスケーリングされていないままで、サイドは一方向にスケーリングされ、センターは両方のディメンションでスケーリングされます。
Nine Patch(9-Patch)イメージは、イメージ全体に1つのピクセル幅の境界線を持つビットマップです。画像のコーナーにある4つのピクセルを無視する。この境界線は、ビットマップ自体のメタデータを提供します。境界線は実線の黒線で表示されます。
9パッチ画像は拡張子.9.png
保存されます。
上の境界線は、水平に伸びる領域を示します。左の境界線は、縦方向に伸びる領域を示します。
下の境界線は、水平方向にパディングを示します。右の境界線は、垂直方向のパディングを示します。
パディングボーダーは通常、テキストを描画する場所を決定するために使用されます。
これらのファイルの作成を大幅に簡素化する優れたツールがGoogleによって提供されています。
Android SDK: android-sdk\tools\lib\draw9patch.jar
基本的な丸い角
正しくストレッチするための鍵は、上端と左端にあります。
上の境界線は水平方向のストレッチを制御し、左側の境界線は垂直方向のストレッチを制御します。
この例では、トーストに適した丸いコーナーを作成します。
上部の境界線の下に、 左枠の右にある画像の一部は、すべての未使用のスペースを埋めるために拡大していきます。
この例は、以下に示すように、サイズのすべての組み合わせに伸びます。
基本スピナー
Spinner
は、Nine Patchを使用して独自のスタイル要件に従って再スキンします。
一例として、このNine Patchを参照してください。
あなたが見ることができるように、それは3つの非常に小さなストレッチの領域をマークしています。
上の境界線にはアイコンのマークが残っています。これは、アイコンに達するまで、Drawableの左側(完全な透明度)がSpinner
ビューを埋めるようにすることを示しています。
左の境界線には、マークされたアイコンの上部と下部に透明なセグメントがマークされています。これは、上部と下部の両方がSpinner
ビューのサイズに拡大することを示します。これにより、アイコン自体が垂直方向の中央に置かれます。
Nine Patchメタデータなしのイメージの使用:
Nine Patchメタデータで画像を使用する:
オプションのパディングライン
9つのパッチ画像は、画像内のパディングラインの任意の定義を可能にする。パディングラインは、右と下のラインです。
ビューが9パッチ画像をその背景として設定する場合、パディングラインを使用してビューのコンテンツのスペースを定義します(たとえば、 EditText
テキスト入力)。パディング行が定義されていない場合は、代わりに左と上の行が使用されます。
引き伸ばした画像のコンテンツ領域は、次のようになります。