我有一个 ConstraintLayout 作为根 Layout,没问题。
但是我现在有一个 RadioGroup,我必须在其中制作两列 RadioButtons。
由于 ConstraintLayout 是为了摆脱嵌套布局,我认为将这些 RadioButtons 放在 RadioGroup 中并适当放置它们会很好。
事实证明,将 ConstraintLayout 作为根布局,包含 RadioGroup,似乎没有任何改变。
但也许我错了。
你们如何在一个位于 ConstraintLayout 中的 RadioGroup 中实现两行 RadioButton?
干杯
最佳答案
View
必须使用其直接父级的布局属性。例如,您不能将 RadioButton
与 layout_constraint
一起使用,因为直接父级是 RadioGroup
和 RadioGroup
不知道如何解释这些属性。
RadioGroup
扩展了 LinearLayout
,因此您可以对单个 RadioGroup
做的最好的事情是 RadioButton< 的单行或单列
s。您可以在您的布局中有两个 RadioGroup
,并在您的 java 代码中监听两者的变化。
private RadioGroup mGroup1; // init in onCreate
private RadioGroup mGroup2; // init in onCreate
private OnCheckedChangedListener mCheckListener = new OnCheckedChangedListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
// To make it appear as if the two groups are one large group,
// checking something in either should clear the check in the other.
RadioGroup otherGroup = group == mGroup1 ? mGroup2 : mGroup1;
otherGroup.clearCheck();
// do something with checkedId
}
}
关于android - ConstraintLayout、RadioGroup和两列RadioButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40499344/