рдЗрд╕ рдиреЛрдЯ рдореЗрдВ, рд╣рдо рдЙрди 9-рдкреИрдЪ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рдЧреИрд░-рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдЬреЛ "рд╕реНрдЯреНрд░реЗрдЪреЗрдмрд▓" рдЧреНрд░рд╛рдлрд┐рдХ рдбрд┐рдЬрд╝рд╛рдЗрди рддрддреНрд╡реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдВрдбреНрд░реЙрдЗрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рддреА рд╣реИрдВред
рдореИрдВ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджреВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
рд▓реЗрдЦ рд╣реИрдВред рдЦрд┐рдВрдЪрд╛рд╡ рдХреА рдЫрд╡рд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрддреНрд╡ рддрдерд╛рдХрдерд┐рдд рдЪрдВрдХ рд╣реИ, рдмрд╛рдЗрдЯ рдЬреИрд╕реА рд╕рдВрд░рдЪрдирд╛ []ред рдпрд╣ рд╣рд┐рд╕реНрд╕рд╛ NinePatch рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди:
public NinePatch (Bitmap bitmap, byte[] chunk, String srcName)
chunk The 9-patch data chunk describing how the underlying bitmap is split apart and drawn.
Bitmap.getNinePatchChunk()
Returns an optional array of private data, used by the UI system for some bitmaps. Not intended to be called by applications.
рдХрд╣рд╛рдБ рд╕реЗ рдЖрддрд╛ рд╣реИ рдЪрдВрдХ?9-рдкреИрдЪ рд╕рдВрд╕рд╛рдзрди рджреЛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдирд┐рд╡рд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рдХрд╛рд▓реЗ рдПрдХрд▓ рдкрд┐рдХреНрд╕реЗрд▓ рд▓рд╛рдЗрдиреЛрдВ-рдорд╛рд░реНрдХрд░реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рддрд╕реНрд╡реАрд░ рд╣реИ рдЬреЛ рдЦрд┐рдВрдЪрд╛рд╡ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреА рд╣реИред рджреВрд╕рд░рд╛ рдкреНрд░рдХрд╛рд░ рд╕рдВрдХрд▓рд┐рдд рд╣реИред рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдЫрд╡рд┐ рдмрд┐рд▓реНрдХреБрд▓ рдореВрд▓ рдХреЗ рд╕рдорд╛рди рджрд┐рдЦрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдорд╛рд░реНрдХрд░ рд▓рд╛рдЗрдиреЗрдВ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рдЗрдирд░реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдХреЛрдб рдирд╛рдо "npTc" рдХреЗ рддрд╣рдд рд╕рд┐рд▓рдирд╛ рд╣реЛрддрд╛ рд╣реИред рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдЪрд░рдг рдореЗрдВ, рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг, aapt рдЙрдкрдпреЛрдЧрд┐рддрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рд╣рдо рдПрдХ рддрд╕реНрд╡реАрд░ рд▓реЗрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд▓рд╛рд▓ рдкрд┐рдХреНрд╕реЗрд▓ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЙрдкрдпреБрдХреНрдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ 9-рдкреИрдЪ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рддреЗ рд╣реИрдВред рдПрдХ рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рд╣реЗрдХреНрд╕ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЗрд╕рдХреА рддреБрд▓рдирд╛ рдХрд░реЗрдВ:
рдореВрд▓ рдЫрд╡рд┐ рдХреЗ 9 рдкрд┐рдХреНрд╕реЗрд▓ (1 + 8 рдкрд┐рдХреНрд╕реЗрд▓ рдорд╛рд░реНрдХрд░)

NpTc рд▓реЗрдмрд▓ рдХреЗ рдмрд╛рдж 1 рдкрд┐рдХреНрд╕реЗрд▓ + рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛

рдЗрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВ: рдПрдХ рддрд░рдл, рд╕рдВрдХрд▓рд┐рдд рдкреНрд░рдкрддреНрд░ рдХреЛ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдПрдбрд┐рдЯрд░ рдореЗрдВ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ - рдлрд┐рд░ рд╕реЗ рд╕рд╣реЗрдЬреЗ рдЬрд╛рдиреЗ рдкрд░ рдЪрдВрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╕рдВрд░рдЪрдирд╛ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рдирд┐рд╣рд┐рдд рд╣реИ рдпрд╣
рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИ (рджреЗрдЦреЗрдВ рд╕рдВрд░рдЪрдирд╛ Res_png_9patch)
рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?9-рдкреИрдЪ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ: "рдЗрд╕реЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди .9.png рдХреЗ рд╕рд╛рде рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ Res / drawable / directory рдореЗрдВ рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред" рддреЛ рдпрд╣ рдПрдХрдорд╛рддреНрд░ рд╕реНрдерд╛рди рд╣реИ рдЬрд╣рд╛рдВ рд╕реЗ aapt рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рд╕рдВрдХрд▓рди рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдХрд┐рд╕реА рдЕрдиреНрдп рдЬрдЧрд╣ рд╕реЗ рдЪрд┐рддреНрд░ рд▓реЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрдкрддреНрддрд┐ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ? рдЖрдЗрдпреЗ рдЗрд╕реЗ рдЖрдЬрдорд╛рддреЗ рд╣реИрдВ:
public NinePatchDrawable create9Patch() {
Bitmap raw = BitmapFactory.decodeStream(...);
byte [] chunk = raw.getNinePatchChunk();
NinePatch patch = new NinePatch(raw, chunk, null );
return new NinePatchDrawable(patch);
}
* This source code was highlighted with Source Code Highlighter .
рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реАрдзреЗ рдХрдЪреНрдЪреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕реЗ рдирд╛рдЗрдирдкреИрдЪ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХреЗ рд╡рд┐рд▓реНрдбреНрд╕ рдореЗрдВ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдПрдХ рджреЗрд╢реА рджреБрд░реНрдШрдЯрдирд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдЪреНрдЪреЗ .getNinePatchChunk () рд▓рд╛рдЗрди рдкрд░, рдЬреЛ рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд╣реИ - рдЕрдкреЗрдХреНрд╖рд┐рдд npTc рдХреЗ рдмрдЬрд╛рдп, рдореВрд▓ рдЫрд╡рд┐ рдФрд░ рд▓рд╛рдЗрдиреЛрдВ рд╕реЗ рдПрдХ рд╣реИрд╢ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ - рдорд╛рд░реНрдХрд░реЛрдВред
I/DEBUG ( 4694): signal 11 (SIGSEGV), fault addr 00000008
I/DEBUG ( 4694): r0 0000bd00 r1 00000007 r2 ad03db59 r3 00000000
I/DEBUG ( 4694): r4 0000bd00 r5 00000000 r6 ad3431b1 r7 41049cf8
I/DEBUG ( 4694): r8 beb484b8 r9 41049cf0 10 41049ce0 fp 00000000
I/DEBUG ( 4694): ip ad3431b1 sp beb48498 lr ad046f05 pc ad03db6c cpsr 00000030
I/DEBUG ( 4694): #00 pc 0003db6c /system/lib/libdvm.so
I/DEBUG ( 4694): #01 pc 000431c6 /system/lib/libandroid_runtime.so
I/DEBUG ( 4694): #02 pc 0000e434 /system/lib/libdvm.so
I/DEBUG ( 4694): #03 pc 00040b0a /system/lib/libdvm.so
I/DEBUG ( 4694): #04 pc 00013198 /system/lib/libdvm.so
I/DEBUG ( 4694): #05 pc 00017b9c /system/lib/libdvm.so
...
рд╕рдорд╛рдзрд╛рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдХрд▓рд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: рдЖрдк рдПрдХ рдЦрд╛рд▓реА рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд▓реЗрддреЗ рд╣реИрдВ, рдЕрдкрдиреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ Res / drawable, compile, export apk рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ, APK рдХреЛ рдЖрд░реНрдХрд╛рдЗрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдУрдкрди рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕реА рд░рд┐рд╕реЛрд░реНрд╕ рдХреЛ рдЙрд╕реА рдЬрдЧрд╣ рд╕реЗ рдЦреАрдВрдЪрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрдХрд▓рд┐рдд рд╣реИред рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди (рдпрд╛ рдХрд╣реАрдВ рдФрд░) рдХреА рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЕрдм рд╕реЗ рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд┐рдЯрдореИрдк рд╕реЗ рд╡реИрдз рдиреМрдирд╛рде рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдРрд╕реА рдмрд╛рддреЗрдВред