好吧,我正以这个结束我的智慧。我正在使用一段开源代码来分段单选按钮(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>
非常感谢任何帮助!
答案 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设备,可能会导致背景丢失......