好吧,我在这个问题的最后.我正在使用分段单选按钮(
https://github.com/makeramen/android-segmentedradiobutton)的开源代码,它工作得很好,除了少数几个不能正确绘制单选按钮的设备.
它应该是这样的:
这就是它在Xperia X10和Acer Liquid E上的样子:
我一直在谷歌搜索答案,但仍然没有运气,所以我想我会来这里,看看是否有人知道是什么原因导致它.我基本上使用与示例相同的代码,但这里是布局的一部分供参考:
<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>
任何帮助将不胜感激!
解决方法
我与索尼爱立信设备有同样的问题…我使用的解决方法是在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中左,中,右按钮的背景可绘制应该可行.