单选按钮无法正确绘制背景

时间:2011-06-02 19:22:55

标签: android android-layout radio-button

好吧,我正以这个结束我的智慧。我正在使用一段开源代码来分段单选按钮(https://github.com/makeramen/android-segmentedradiobutton)并且它工作得很好,除了少数几个不能正确绘制单选按钮的设备。

这应该是这样的:

enter image description here

这就是它在Xperia X10和Acer Liquid E上的样子:

enter image description here

我一直在谷歌上搜索答案,但仍然没有运气,所以我想我会来这里,看看是否有人知道是什么原因造成的。我基本上使用与示例相同的代码,但这里是布局的一部分供参考:

<com.makeramen.segmented.SegmentedRadioGroup android:id="@+id/jfl_calendar_tabselect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:checkedButton="@+id/all_button">
    <RadioButton android:id="@id/all_button"
        android:minWidth="80dip"
        android:minHeight="50dip"
        android:text="@string/calendar_all"
        android:button="@null"
        android:textSize="13dip"
        android:gravity="center"
        android:textColor="@color/radio_colors" />  
    <RadioButton android:id="@+id/mine_button"
        android:minWidth="80dip"
        android:minHeight="50dip"
        android:text="@string/calendar_mine"
        android:button="@null"
        android:textSize="13dip"
        android:gravity="center"
        android:textColor="@color/radio_colors" 
        android:padding="3dip" />
    <RadioButton android:id="@+id/friends_button"
        android:minWidth="80dip"
        android:minHeight="50dip"
        android:text="@string/calendar_friends"
        android:button="@null"
        android:textSize="13dip"
        android:gravity="center"
        android:textColor="@color/radio_colors"
        android:padding="3dip" />
</com.makeramen.segmented.SegmentedRadioGroup>

非常感谢任何帮助!

2 个答案:

答案 0 :(得分:6)

我在索尼爱立信设备上遇到了同样的问题...我使用的解决方法是在xml中设置背景:

<RadioButton android:id="@id/button_one"
    android:minWidth="40dip"
    android:minHeight="33dip"
    android:text="One"
    android:textAppearance="?android:attr/textAppearanceSmall"
    android:button="@null"
    android:gravity="center"
    android:background="@drawable/segment_radio_left" <-- setting the BG here
    android:textColor="@color/radio_colors" />

执行此操作后,首次出现时以及在按钮之间切换时正确呈现背景。

因此,如果您的单选按钮在xml中以静态方式定义,则设置xml中左,中,右按钮的背景可绘制应该有效。

答案 1 :(得分:0)

我从未使用过细分的单选按钮代码,所以我对它并不熟悉,但是你是否在这些手机的相应res / drawable / * dpi文件夹中有背景PNG资源?我相信X10 Mini是一款LDPI设备,可能会导致背景丢失......