2013. 7. 22.

[Android]TextView - CompoundDrawable을 이용한 버튼만들기


이렇게 생긴 버튼을 만들고 싶을때

안드로이드에서 주로 TextView를 사용한다.

위의 예에서 아이콘이 drawable폴더에 icon.png 파일로 저장되어 있다면

^TextView
     android:id="@+id/btn_tag"
     android:layout_width = "wrap_content"
     android:layout_height = "fill_parent"
     android:drawableLeft = "@drawable/icon"
     android:text="태그"
     android:drawablePadding = "4dp"
     android:gravity = "center_vertical"
     /^

^를 <>로 바꾸세요

정도로 만들 수 있다.

하지만 실제 만들어보면


위 처럼 글자가 아래로 1~2px 내려간다.


왜~ 중앙정렬을 해야 한단 말이다!!!!
center_vertical 인데... 왜 ㅠㅠ


1) 이미지의 윗부분을 1~2px 키워볼까....?
2) ImageView와 TextView를 분리하고 부모에 Click 속성을 줘야하나...?


해답은 의외로 간단한 곳에 있었다..


폰트에는 기본적으로 padding이 만든사람 마음대로 들어가 있고,
이를 인지한 구글에서 paddind을 제외할 수 있도록 해 둬서
옵션만 주면 정 중앙에 맞게 그려진다...
(삽질 한시간... 에이 바보야...)


android:includeFontPadding="false"

끝!

댓글 없음:

댓글 쓰기

[다자녀할인] 2자녀 이상 모든 공항 주차장 50% 할인받기 (둘 중 한명은 15세 이하)

다자녀 기준이 2명으로 완화되면서 자녀가 2명만 되어도 공영주차장 50%(지역에 따라 30%인 곳 도 있음) 할인이 가능하고, 전국의 공항주차장도 50% 할인이 가능하다. "다둥이카드" 나 "경기 I Plus 카드"...