나인패치에 대한 이해나 사용법에 대한 글은 많다. 여기서는, 나인패치의 특이한 점을 중심으로 살펴보자.
- 원래 나인패치란 퀼트에서 사용하는 단어다. 아래처럼, 아홉개의 천 조각을 붙인 모양을 말한다.
- 나인패치의 늘어나는 부분(검은색 픽셀)을 너무 작게(1~2픽셀) 주면 올바르게 늘어나지 않을 수 있다. 최소 4픽셀 이상(xxxhdpi에서 1dp 값)은 주는 것이 좋다.
- 귀퉁이 픽셀(왼쪽-위, 오른쪽-위, 왼쪽-아래, 오른쪽-아래)는 칠해도 소용이 없다.
- 나인패치는 버튼(button)이나 에디트텍스트(edittext), 배경 등에 사용하기 위해 만들었다. 정확히는 background에 사용하는 것으로, 기본적으로 foreground에서는 동작하지 않는다.
- foreground에 나인패치 이미지를 넣으면 보통의 이미지처럼 동작하지만, scaleType=”fitXY’로 주면 나인패치 이미지로 쓸 수도 있다.
- NinePatch나 NinePatchDrawable 클래스를 이용해 비트맵(bitmap) 객체에도 나인패치를 적용할 수 있다. 방법은 여기에!
- 안드로이드 4.3(API 18) 부터 나인패치에 생략하고 싶은 부분(빨간선)을 표시하는 기능이 추가되었다.
참조
- https://www.google.co.kr/search?q=quilt+nine+patch&newwindow=1&espv=2&biw=1039&bih=900&tbm=isch&tbo=u&source=univ&sa=X&ved=0CCEQsARqFQoTCLWvv_rxxccCFVBqjgodKdkPQQ
- http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch
- http://developer.android.com/tools/help/draw9patch.html
- http://developer.android.com/reference/android/graphics/NinePatch.html
- http://developer.android.com/reference/android/graphics/drawable/NinePatchDrawable.html
- http://developer.android.com/about/versions/android-4.3.html#OpticalBounds
- http://stackoverflow.com/questions/11406521/android-9-patch-tool-what-is-the-new-layout-bounds-feature/11854891#11854891