Building a 9 patch drawable at runtime

后端 未结 4 1253
伪装坚强ぢ
伪装坚强ぢ 2020-12-08 23:10

I am successfully building a 9patch drawable at runtime on Android 3.0+ using the excellent gist provided by Brian Griffey (found here).

Essentially I load the raw (

4条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-08 23:28

    Putting together all I've spotted so far, and honing it a bit:

    • There doesn't seem to be a difference in the Res_png_9patch structure (which the byte chunk goes into) between android versions (see http://code.metager.de/source/xref/android), so that doesn't look like the cause.

    • Other answers about nine patch drawables suggest that each region (especially stretchable ones) should be at least 2x2 pixels (if not 3x3), but outside of that smaller is better.

    • However, the way some of the byte chunk is allocated looks like it could be updated. Try setting the 4th byte to 9 (the number of patches, I think), adding 7 more NO_COLORs to the the end and moving its size up to 56 + (7 x 4) = 84 bytes

提交回复
热议问题