android - ConstraintLayout、RadioGroup和两列RadioButton

标签 android android-layout android-radiogroup android-radiobutton android-constraintlayout

我有一个 ConstraintLayout 作为根 Layout,没问题。
但是我现在有一个 RadioGroup,我必须在其中制作两列 RadioButtons。 由于 ConstraintLayout 是为了摆脱嵌套布局,我认为将这些 RadioButtons 放在 RadioGroup 中并适当放置它们会很好。
事实证明,将 ConstraintLayout 作为根布局,包含 RadioGroup,似乎没有任何改变。
但也许我错了。

你们如何在一个位于 ConstraintLayout 中的 RadioGroup 中实现两行 RadioButton?

干杯

最佳答案

View 必须使用其直接父级的布局属性。例如,您不能将 RadioButtonlayout_constraint 一起使用,因为直接父级是 RadioGroupRadioGroup 不知道如何解释这些属性。

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/

相关文章:

java - SQLite 如果存在现有数据则跳过或覆盖

android - Kotlin Flow 如何组合两个流并仅在第一个流发送元素时发出结果

android - 如何从子 Activity 中获取结果

android - 了解 android 内部结构(深入系统)

android - 在android中选择微调器时抛出错误

android - 在 LinearLayout 中放置 3 个按钮以占用相等的空间

android - 将 ImageView 与布局中心向左对齐 10dp

java - RadioGroup 和checkedId

java - 无法为对象解析此符号

android - 将不同的图像添加到我的适配器并在 ListView 中显示它们