在我的简单应用程序中,我使用无线电组内的 2 个单选按钮。在谷歌设备(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>