【问题标题】:Can I reduce the space between radiobuttons in a radiogroup? [duplicate]我可以减少单选组中单选按钮之间的空间吗? [复制]
【发布时间】:2020-10-15 16:37:46
【问题描述】:

这是我的 .xml 文件

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="@dimen/margin_medium">

    <com.google.android.material.radiobutton.MaterialRadioButton
        android:id="@+id/high_school_answer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/high_school"/>

    <com.google.android.material.radiobutton.MaterialRadioButton
        android:id="@+id/bachelor_answer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/bachelor"/>

    <com.google.android.material.radiobutton.MaterialRadioButton
        android:id="@+id/technical_answer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/technical"/>

    <com.google.android.material.radiobutton.MaterialRadioButton
        android:id="@+id/professional_answer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/professional"/>

</RadioGroup>

下面的截图显示了它的样子

所以我想减少单选按钮之间的垂直间距。

截图:

【问题讨论】:

  • 是的,我相信你可以做到这一点。不过,我不知道我是怎么想的。您应该查看所有 UI 小部件可用的文档全局属性。应该有 android:paddingandroid:margin 之类的东西。
  • 你们电台的方向是什么?垂直还是水平?

标签: android radio-group


【解决方案1】:

将高度设置为 RadioButton android:layout_height="10dp"

【讨论】:

  • 太棒了!...我设置了marginTop,它可以工作,但我认为这不是最好的方法,因为有重叠,所以,如果我按照你说的做会更好。我觉得android:layout_height="36dp" 看起来很酷,非常感谢!!
【解决方案2】:

您可以通过为每个 RadioButtons 设置垂直(顶部或底部)margin 来做到这一点。这将覆盖已设置的默认边距。例如,您的代码可能如下所示:

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="@dimen/margin_medium">

    <com.google.android.material.radiobutton.MaterialRadioButton
        android:id="@+id/high_school_answer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="2dp"
        android:text="@string/high_school"/>

    <com.google.android.material.radiobutton.MaterialRadioButton
        android:id="@+id/bachelor_answer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="2dp"
        android:text="@string/bachelor"/>

    <com.google.android.material.radiobutton.MaterialRadioButton
        android:id="@+id/technical_answer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="2dp"
        android:text="@string/technical"/>

    <com.google.android.material.radiobutton.MaterialRadioButton
        android:id="@+id/professional_answer"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="2dp"
        android:text="@string/professional"/>

</RadioGroup>

【讨论】:

    【解决方案3】:

    您可以从第 2 个单选按钮开始设置 android:layout_marginTop="-8dp"。它将减少单选按钮之间的垂直间距

    【讨论】:

    • 是的……那行得通。我认为有一个属性可以调整子视图之间的空间。但它有效。非常感谢!
    • 但我认为最好设置高度而不是marginTop,因为有重叠。不过,非常感谢!!
    猜你喜欢
    • 2013-03-24
    • 2012-01-29
    • 2016-12-10
    • 1970-01-01
    • 2021-10-21
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多