如何设置Anko DSL(Android)中单选按钮的布局重量值?

如何设置Anko DSL(Android)中单选按钮的布局重量值?,android,kotlin,kotlin-android-extensions,anko,Android,Kotlin,Kotlin Android Extensions,Anko,我使用AnkoDSL来创建UI,而不是XML。但当我要用Anko的方式设置单选按钮的布局重量参数时,我得到了一个错误 我试过以下方法: override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) verticalLayout() { radioGroup() { orientation = LinearLayout.HORIZ

我使用AnkoDSL来创建UI,而不是XML。但当我要用Anko的方式设置单选按钮的布局重量参数时,我得到了一个错误

我试过以下方法:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    verticalLayout() {
        radioGroup() {
            orientation = LinearLayout.HORIZONTAL
            radioButton {
                id = RADIO_SECOND
                text = "second(s)"

            }.lparams(width = wrapContent, height = wrapContent, weight = 0.25F)

            // Few more radio button
        }
    }
}
但它给出了错误:107,19'inline fun RadioButton.lparamswidth:Int=…,height:Int=…,weight:Float:RadioButton'在此上下文中不能由隐式接收器调用。如有必要,请使用显式

如何继续?

通过指定radioButton的权重参数,您选择使用Anko的_LinearLayout类中定义的函数,因此您基本上是在包装整个布局的垂直布局上下文中为radioButton赋予权重

要在radioGroup的上下文中赋予其权重,可以使用另一个函数,其类似参数名为initWeight:

这将把调用放在正确的上下文中。

通过指定radioButton的权重参数,您选择使用Anko的_LinearLayout类上定义的函数,因此您基本上是在包装整个布局的垂直布局上下文中为radioButton赋予权重

要在radioGroup的上下文中赋予其权重,可以使用另一个函数,其类似参数名为initWeight:


这将把调用放在正确的上下文中。

您在什么上下文中使用它?那么,你的代码片段的基本内容是什么?@creativecreatormormaybeno我没有用相关代码更新这篇文章。你在什么上下文中使用它?那么,你的代码片段的基本内容是什么?@creativecreatormormaybeno我没有用相关代码更新这篇文章。
verticalLayout {
    radioGroup {
        orientation = LinearLayout.HORIZONTAL
        radioButton {
            id = RADIO_SECOND
            text = "second(s)"
        }.lparams(width = wrapContent, height = wrapContent, initWeight = 0.25F)
    }
}