ANKO paddingTop - Val не может быть переназначен - PullRequest
0 голосов
/ 25 февраля 2019

Я хочу добавить paddingTop на мой verticalLayout, однако он выдает предупреждение с предупреждением Значение Val не может быть переназначено .Я предполагаю, что я решаю эту проблему неправильно, однако ресурсы в Интернете кажутся скудными.

Ниже представлен мой AnkoComponent:

class MainActivityUi : AnkoComponent<MainActivity> {
override fun createView(ui: AnkoContext<MainActivity>) = with(ui) {
    verticalLayout {
        textView {
            text = "Input"
            textColor = Color.BLACK
            textAlignment = View.TEXT_ALIGNMENT_CENTER
        }
        textView {
            text = "Output"
            textColor = Color.BLACK
            textAlignment = View.TEXT_ALIGNMENT_CENTER
        }
        linearLayout {
            button {

                text = "0"
            }.lparams(width = wrapContent, height = matchParent) {
                gravity = Gravity.CENTER
                weight = 5f
                margin = dip(3)
            }
            button {
                text = "1"
            }.lparams(width = wrapContent, height = matchParent) {
                gravity = Gravity.CENTER
                weight = 5f
                margin = dip(3)
            }
        }
        linearLayout {
            button {
                text = "/"
            }.lparams(width = wrapContent, height = matchParent) {
                gravity = Gravity.CENTER
                weight = 5f
                margin = dip(3)
            }
            button {
                text = "*"
            }.lparams(width = wrapContent, height = matchParent) {
                gravity = Gravity.CENTER
                weight = 2.5f
                margin = dip(3)
            }
            button {
                text = "-"
            }.lparams(width = wrapContent, height = matchParent) {
                gravity = Gravity.CENTER
                weight = 2.5f
                margin = dip(3)
            }
            button {
                text = "+"
            }.lparams(width = wrapContent, height = matchParent) {
                gravity = Gravity.CENTER
                weight = 2.5f
                margin = dip(3)
            }
        }
        linearLayout {
            button {
                text = "base10"
            }.lparams(width = matchParent, height = wrapContent){
                margin = dip(3)
            }
        }
        linearLayout {
            button {
                text = "calculate!"
            }.lparams(width = matchParent, height = wrapContent){
                margin = dip(3)
            }
        }
        lparams { //This is the culprit!
            paddingTop = dip(200)
        }
    }
}

Не работает ни marginTop, ни paddingTop, однако IDE предлагает это при вводе margin или padding.Просто padding или margin не выдает ошибку, но я ищу только освобождение места в самом верху моего компонента.

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

Используйте topPadding вместо paddingTop

0 голосов
/ 25 февраля 2019

Я думаю, вам нужно изменить:

verticalLayout {
    ...
    lparams {
        ...
    }
}

Чтобы читать вместо этого:

verticalLayout {
    ...
}.lparams {
    ...
}

Я раньше не использовал библиотеку Anko, но приведенные выше изменения происходят из этого комментарияв их проекте GitHub: https://github.com/Kotlin/anko/issues/392#issuecomment-304659964

...