android 里为啥第一个RadioButton 的按钮会与它的内容部分重叠呢
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 里为啥第一个RadioButton 的按钮会与它的内容部分重叠呢相关的知识,希望对你有一定的参考价值。
RadioGroup 的代码如下:
<RadioGroup
android:id="@+id/genderGroup"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<RadioButton
android:id="@+id/maleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="male"
/>
<RadioButton
android:id="@+id/femaleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="female"
/>
</RadioGroup>
运行后,如第一个图,而把两个RadioButton的代码位置互换后,结果如第二个图:
为什么第一个RadioButton 的按钮会与它的内容部分重叠呢?谢谢大家啦!
用的是模拟器吧,居然还能出现这种问题 汗
原因很难说,正常是不会出现这种情况的。
要解决的话你要么删了项目重建一个试试,要么就在android:text="male"里加几个空格就OK了 参考技术A 1是因为设置了paddingLeft导致的,取消paddingLeft可以在绝大多数手机上不出现文字和按钮重合的情况,但是可能对少部手机仍然无效,设置了radiobutton按钮的文字可能导致文字和按钮重合,那就干脆将radiobutton的文字设为空,用单独的 textview来保存相应的文字。radiobutton和textview放在同一个LinearLayout里面,通过调整他们的宽度比来到达界面 上较好的效果。
2设置一下按钮文件间距,android:background="@null"
android:drawableLeft="@drawable/radioselector"
如果要字和button间有点距离的话 加上 android:drawablePadding="5dp" 参考技术B RadioGroup和RadioButtion的width设置为"fill_parent"试试?一般情况下只有height设置为"wrap_content",宽度基本都是"fill_parent" 参考技术C android:button="@null"
android:drawableRight="@android:drawable/btn_radio" 参考技术D RadioButton有坐标属性,将这个属性设置为绝对坐标即可固定。但有时为了适应横屏以及不同分辨率的屏幕,采用相对坐标的较多,此时需要先定位坐标原点之后在调用此RadioButton。
回答是没有看到已经解决了,模拟器设置简单多了。模拟器的设置都为fill,因此第二个以及以后的同行平行排列的具有不同属性的对象,向上述的按钮图标和text需要采用各自的坐标表述。
Android:为啥 Radio Group 中的 Radio Button 总是为任何选定的项目返回 false?
【中文标题】Android:为啥 Radio Group 中的 Radio Button 总是为任何选定的项目返回 false?【英文标题】:Android: Why Radio Button in Radio Group always returns false for any item selected?Android:为什么 Radio Group 中的 Radio Button 总是为任何选定的项目返回 false? 【发布时间】:2014-06-13 20:50:19 【问题描述】:我在一个单选组中有两个单选按钮,当我选择任何单选按钮并尝试使用 isselected 方法获取布尔值时,我总是得到错误值。 为什么会这样。请帮助我。
【问题讨论】:
检查 isChecked 属性:***.com/a/11050112/2649012 @BobMalooga 感谢它的工作。 【参考方案1】:我也遇到了同样的问题,isSelected 方法不起作用。 isChecked 方法对我有用:
if( myRadioButton.isChecked() )
// do stuff
else
// do other stuff
【讨论】:
【参考方案2】:使用这个:
int selectedRbBtn = radiogroup.getCheckedRadioButtonId();
如果它返回 -1
则没有选择任何内容...
【讨论】:
【参考方案3】:也许这会有所帮助
int radioButtonID = radioButtonGroup.getCheckedRadioButtonId();
View radioButton = radioButtonGroup.findViewById(radioButtonID);
然后使用单选按钮执行您想要的任何任务。
来源:Link
【讨论】:
【参考方案4】:使用这个:
radioButton.setOnCheckedChangeListener(new OnCheckedChangeListener()
public void onCheckedChanged(CompoundButton btn, boolean isCheck)
//handle the boolean flag here.
if(isCheck==true)
//Do something
else
//do something else
);
来源:link
【讨论】:
以上是关于android 里为啥第一个RadioButton 的按钮会与它的内容部分重叠呢的主要内容,如果未能解决你的问题,请参考以下文章
asp.net中repeater控件里使用一组radiobutton为啥设置了相同groupname还是一组按钮都能选中
android 中如何获取radiogroup 中那个radiobutton被选择
Android Studio基础单选按钮RadioButton
Android:为啥 Radio Group 中的 Radio Button 总是为任何选定的项目返回 false?