출처 : http://givenjazz.tistory.com/53

 

클래스파일: Create9Patch.class

안드로이드는 해상도가 다르다고 해도 같은 화면으로 보여주기 위해 이미지를 늘려주는 나인패치라는 포맷을 사용합니다. 주로 draw9patch라는 툴을 사용합니다만 이걸 만드는 작업이 여간 귀찮은 게 아닙니다. 9패치 만드는 게 너무 귀찮아서 간단히 만들었는데 생각보다 쓸만해서 공개합니다.

그냥 상하좌우 5픽셀 떨어진 곳부터 5픽셀짜리 나인패치를 그려주는 게 전부입니다.
그럼 어떻게 되느냐? 예제를 보면 더 이해가 빠르실 겁니다.


5픽셀짜리 영역을 만들면 위처럼 5픽을 자동으로 지정만 해줘도 그라데이션이 들어가 있는 버튼도 생각보다 깔끔하게 확대가 됩니다.

사용법은 이 글에 첨부된 Create9Patch.class를 다운받아서 java Create9Patch [대상 폴더 혹은 파일] 로 실행하면 됩니다. 대상을 파일이 아닌 폴더로 하게 되면 폴더에 있는 모든 png파일을 9.png형식으로 변경합니다.

곧 나올 씨네21 앱에 나인패치를 적용했을 떄 기기별 화면에 보여지는 모습입니다.

넥서스 S)


갤럭시 탭 7인치)


갤럭시탭 8.9인치)


소스는 git에 공개합니다.
https://github.com/givenjazz/Create9Patch

그리고 터미널창에서 좀 더 디테일하게 변경할 수 있는 툴도 github에 있더군요.
https://github.com/reimund/9-Patcher

+ Recent posts