본문 바로가기

나의 플랫폼/안드로이드

[Android] RadioButton에서 텍스트와 간격 넓히기

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

RadioButton을 Custom 화 시켜서 Icon을 변경해서 많이 씁니다.


Icon 변경은 간단하게 button에 넣으면 끝인데요. 아래와 같이~

<RadioButton
android:id="@+id/ring_set_pay"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:button="@drawable/btn_radio"
android:checked="true"/>

btn_radio.xml


<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@drawable/radio_checked"/>
<item android:drawable="@drawable/radio_unchecked"/>
</selector>


아이콘만 놓는 다면 문제가 없습니다. 

하지만, 아이콘 과 텍스트를 같이 쓰고자 하시는 분들 중에 그 사이에 Margin을 넣고 싶을 경우가 있습니다.

아무것도 하지 않으면 아이콘과 텍스트가 딱 붙어 있으니깐요.


그럼 어떻게 해야하느냐???

구글링을 하다보면 button을 이용하지 말고 drawableRight나 Left를 이용해서 아이콘을 두고 Padding으로 조절하라고 합니다.

<RadioButton
            android:id="@+id/first"
            android:button="@null"
            android:drawableRight="@android:drawable/btn_radio"
            android:drawablePadding="20dp"
            android:layout_width="200dip"
            android:layout_height="wrap_content"
            android:text="@string/first"
            android:textSize="20dip" />

참조 : http://stackoverflow.com/a/12568118/3534559


하지만, 제가 하고자 하는 것은 그냥 우측에 나오는 텍스트에 간격만 주고 싶습니다.


이럴경우 넣고자 하는 String 값에 공백을 넣어 주세요.

그냥 Space를 넣으면 되지 않구요. 아래와 같이 해보세요.


<string name="radio_text">\u0020 넣고자 하는 문자열</string>


이렇게 '\u0020' 문자를 추가 시켜 주면 공백이 들어가 아이콘과 간격이 생기게 할 수 있습니다.

공백 문자를 더 많이 넣을 수록 더 간격은 벌어지겠지요~


<RadioButton
android:id="@+id/ring_set_pay"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:button="@drawable/btn_radio"
android:text="@string/radio_text"
android:checked="false"/>


참고하세요.