首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Anko中预览

无法在Anko中预览
EN

Stack Overflow用户
提问于 2019-01-29 07:25:48
回答 2查看 268关注 0票数 1

我有这个问题:

错误:

代码语言:javascript
复制
C:\Users\avi12\OneDrive\Documents\AndroidApps\WhatsApp Easy Sticker Maker\app\src\main\java\com\avi12\whatsappeasystickermaker\MainActivity.kt: (20, 13): Overload resolution ambiguity:
public inline fun ViewManager.textView(init: (@AnkoViewDslMarker TextView).() -> Unit): TextView defined in org.jetbrains.anko
public inline fun ViewManager.textView(init: (@AnkoViewDslMarker TextView).() -> Unit): TextView defined in org.jetbrains.anko

我的代码,因为我刚刚开始发现Anko:

代码语言:javascript
复制
package com.avi12.whatsappeasystickermaker

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import org.jetbrains.anko.design.*
import org.jetbrains.anko.*

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        coordinatorLayout {
            textView {
                text = "Begin by tapping the + button"
            }
            floatingActionButton {

            }
        }
    }
}

Anko版本:0.10.8

Android Studio版本:3.3

EN

回答 2

Stack Overflow用户

发布于 2019-01-29 07:46:23

问题似乎是,在build.gradle中,我有:

代码语言:javascript
复制
dependencies {
    ...
    implementation "org.jetbrains.anko:anko-sdk25:$anko_version" // sdk15, sdk19, sdk21, sdk23 are also available
    implementation "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
}

出于某些原因,这在一定程度上解决了问题(就成功构建而言,仍然没有预览):

代码语言:javascript
复制
dependencies {
    ...
    // implementation "org.jetbrains.anko:anko-sdk25:$anko_version" // sdk15, sdk19, sdk21, sdk23 are also available
    implementation "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
}
票数 2
EN

Stack Overflow用户

发布于 2019-02-10 20:34:49

只有当我们在实现AnkoComponent接口的外部类中定义布局时,...preview才有效。下面是我们将如何修改我们的活动,以便在一个单独的类中定义我们的视图:

代码语言:javascript
复制
class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    MainActivityUI().setContentView(this)
}

class MainActivityUI : AnkoComponent<MainActivity> {
    override fun createView(ui: AnkoContext<MainActivity>) = with(ui) {
        verticalLayout {
            gravity = Gravity.CENTER
            padding = dip(20)

            textView {
                gravity = Gravity.CENTER
                text = "Enter your request"
                textColor = Color.BLACK
                textSize = 24f
            }.lparams(width = matchParent) {
                margin = dip(20)
            }

            val name = editText {
                hint = "What is your name?"
            }

            editText {
                hint = "What is your message?"
                lines = 3
            }

            button("Enter") {
                onClick {
                    toast( "Hey ${name.text}! Thank you for contacting us. We will get in touch with you soon.")
                }
            }.lparams(dip(280), sp(80))

        }
    }
}

}

我希望它能解决这个问题,我很快就会知道...

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54411754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档