집요정 도비의 일기
selector auto creator 본문
일하다보니 selector쓸 일이 은근히(사실 졸라) 많음.
디자이너가 모든 버튼류 이미지를 두 가지를 주기 때문임.
이게 버튼을 단순히 눌렀다 땟을 때를 위한 경우도 있고, 탭 버튼 아이콘 같은 경우는 계속 버튼이 눌려 있어야해서 그럼.
ex) btn_send.png, btn_send_dw.png
이걸 일일히 코드로 할 수는 없는 노릇이어서 selector를 만들어야하는데 이게 또 보통 귀찮은게 아님.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_send" android:state_pressed="false"/>
<item android:drawable="@drawable/btn_send_dw" android:state_pressed="true"/>
</selector>
여기서 그림 이름 바꾸고, 단순히 state_selected(계속 눌려있어야 하는 경우)냐 혹은 state_pressed(단순 클릭 시 이벤트)냐만 정해주면 됨.
문제는 이런게 화면당 3~4개씩 들어가고 9패치까지 들어가면 그냥 selector만드는 것도 보통 노가다가 아님.
그래서 c#으로 selector만 뿅 만들어주는 단순한 프로그램 하나 만들어봄.
먼저 소스
딱 기능 두개만 있음.
1. 파일을 선택해서 selector를 만들어주는 기능(Generate Selector)
2. 파일 이름을 단순히 나인 패치 파일로 만들어주는 기능.
1. Generate Selector
Open File -> 파일 선택 -> listView에서 파일 두개(*) 선택 -> Mode 선택(Pressed vs Selected) -> Prefix 선택(안해도됨) -> Generate Selector 버튼 클릭 -> 다이얼로그에 생성될 xml 파일 이름 입력
Result -> 첫번째 선택된 이미지와 같은 디렉토리에 selector가 생성됨. 플젝에 이미지 집어넣으면서 같이 넣버리면 됨.
또한, 여러가지 파일을 동시에 open해서 작업 할 수도 있으므로, Menu에 Auto Delete 옵션을 둠. 이를 true로 설정할 경우, selector 생성 후, 리스트에서 파일이 알아서 지워짐. 기본값은 false임.
2. Convert to 9-patch
파일 이름을 단순히 나인패치 포맷으로 변경하는 것임. 어짜피 스튜디오에서 9-patch 편집이 가능하므로, 점찍기는 스튜디오가서 합시다.
근대 만들고보니깐 이걸 내가 과연 쓸까?
'개발 일기' 카테고리의 다른 글
EventBus로 여기저기서 쉽게 콜백 받기 (0) | 2016.12.28 |
---|---|
Retrofit 2로 Json파싱 없이 Http통신 구현 시간을 단축해보자. (1) | 2016.11.07 |
Step 4. 음악 스트리밍 서버(Spring boot), 앱(Android)을 만들어보자. (6) | 2016.03.05 |
Step 3. 음악 스트리밍 서버(Spring boot), 앱(Android)을 만들어보자. (0) | 2016.03.05 |
Step 2. 음악 스트리밍 서버(Spring boot), 앱(Android)을 만들어보자. (1) | 2016.03.03 |