Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

집요정 도비의 일기

selector auto creator 본문

개발 일기

selector auto creator

집요정_도비 2016. 10. 18. 23:29

일하다보니 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만 뿅 만들어주는 단순한 프로그램 하나 만들어봄.


먼저 소스


AutoSelectorGenerator.zip







딱 기능 두개만 있음.


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 편집이 가능하므로, 점찍기는 스튜디오가서 합시다.


근대 만들고보니깐 이걸 내가 과연 쓸까?



Comments