私のシンプルなアプリでは、ラジオグループ内で2つのラジオボタンを使用しています。Google デバイス (Nexus、Samsung nexus) ではすべてが正しく表示されますが、Sony Experia、Samsung S III などの他のデバイスでは、丸ボタンの下にラジオ ボタン パディングのラベルが表示されます。ラジオボタンに画像を使用し、ラベルとラジオボタンの間のギャップを取得するために paddingLeft を使用します。これは私のコードです:
<RadioGroup
android:id="@+id/radioGrpBitRate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/btnPlay"
style="@style/RadioGroup" >
<RadioButton
android:id="@+id/radio128"
style="@style/RadioButton128"
android:layout_height="wrap_content"
android:gravity="center|right" />
<RadioButton
android:id="@+id/radio32"
style="@style/RadioButton32"
android:gravity="center|right" />
</RadioGroup>
そしてスタイル
<style name="RadioGroup">
<item name="android:layout_marginTop">25dp</item>
<item name="android:layout_marginLeft">15dp</item>
</style>
<style name="RadioButton128" parent="@android:style/Widget.CompoundButton.RadioButton">
<item name="android:button">@drawable/radio</item>
<item name="android:text">@string/radio128String</item>
<item name="android:checked">true</item>
<item name="android:onClick">actionPlay128</item>
<item name="android:layout_marginBottom">5dp</item>
<item name="android:paddingBottom">6dp</item>
<item name="android:paddingTop">5dp</item>
<item name="android:paddingLeft">5dp</item>
<item name="android:textSize">20sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">#ededed</item>
</style>
<style name="RadioButton32" parent="@android:style/Widget.CompoundButton.RadioButton">
<item name="android:button">@drawable/radio</item>
<item name="android:text">@string/radio32String</item>
<item name="android:checked">false</item>
<item name="android:onClick">actionPlay32</item>
<item name="android:paddingLeft">5dp</item>
<item name="android:textSize">20sp</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">#ededed</item>
</style>