如何在 Kotlin anko 中使用 TextInputLayout & TextInputEditText

How to use TextInputLayout & TextInputEditText in Kotlin anko

Error:(63, 13) Unresolved reference: textInputLayout
Error:(64, 17) Unresolved reference: textInputEditText  

我尝试在 kotlin anko 中添加 textInputLayout 和 textInputEditText 时收到上述错误消息。
下面是我的代码 -

private fun test(context: Context): View{
    return with(context){
        verticalLayout {
            textInputLayout {
                textInputEditText{}
            }
        }
   }
}

TextInputLayout 在设计支持库中,因此您需要一个额外的 Anko 依赖项,为您提供该库的绑定(您可以找到所有不同 Anko 包的列表 here):

compile "org.jetbrains.anko:anko-design:$anko_version"

如果您还没有 Design Support Library,您还需要它:

compile 'com.android.support:design:25.4.0'

在任意位置创建一个 kotlin 代码文件。在没有任何 class 声明的情况下放置下面的代码。

inline fun ViewManager.textInputEditText() = textInputEditText {}
inline fun ViewManager.textInputEditText(theme: Int = 0, init: TextInputEditText.() -> Unit) = ankoView({ TextInputEditText(it) }, theme, init)

inline fun ViewManager.textInputLayout() = textInputLayout {}
inline fun ViewManager.textInputLayout(theme: Int = 0, init: TextInputLayout.() -> Unit) = ankoView({ TextInputLayout(it) }, theme, init)  

希望对您有所帮助

编辑:根据@A Boschman 的评论,anko 非常新,几乎没有文档。当我遇到同样的问题时,我在互联网上搜索了很多但没有找到任何文档。
我的解决方案基于下面提到的线程 GitHub -(也没有理论解释)

https://github.com/Kotlin/anko/issues/205
https://github.com/Kotlin/anko/issues/264