Tag: anko

使用Kotlin Anko拍摄照片并显示结果的最佳方法是什么?

我正在和Anko一起玩Kotlin,并试图用它拍摄一张照片,然后在我的测试应用程序中使用下面的Android培训文档作为起点显示结果图像。 http://developer.android.com/training/camera/photobasics.html 使用Anko实现这个function的最好方法是什么? 我试图使用startActivityForResult函数,但我没有任何运气搞清楚如何将图像视图添加到可以使用onActivityResult的结果更新的布局。

Android中的Kotlin协程:为什么要使用Anko中的bg()而不是async()?

我今天开始在Android上使用Kotlin协同程序,并且注意到Anko对它们有一套自己的辅助方法。 我明白为什么asReference()存在,但我不明白为什么bg() asReference() ,因为核心协程库lib已经具有async() 。 bg()代码非常简单,它内部使用async() : @PublishedApi internal var POOL = newFixedThreadPoolContext(2 * Runtime.getRuntime().availableProcessors(), “bg”) inline fun bg(crossinline block: () -> T): Deferred = async(POOL) { block() } 那么使用bg()而不是async()的优点是什么? 对于Android应用程序, async()效率低下吗?

如何创建Kotlin DSL – DSL语法Kotlin

和anko一样,你可以这样编写回调函数: alert { title = “” message = “” yesButton { toast(“Yes”) } noButton { toast(“No”) } } 我怎样才能创建一个这样的嵌套function? 我试图创建它像下面,但似乎并没有工作。 class Test { fun f1(function: () -> Unit) {} fun f2(function: () -> Unit) {} } 现在,如果我用这个扩展function, fun Context.temp(function: Test.() -> Unit) { function.onSuccess() // doesn’t work } 从Activity调用它: temp { onSuccess { toast(“Hello”) } […]

使用Kotlin和Anko访问资源ID

嗨,大家好我是Android / Kotlin / Anko的新手,我有一个关于如何访问Anko内部的颜色(也可能是其他)资源的问题。 我知道有一些像textResource这样的textResource ,只需传递R.string.my_color来简化设置资源字符串的过程,但是如何使用View类的Resources实例访问颜色呢? 假设您有Button的子类,并且想要更改文本颜色。 如果你使用textResource它会改变文本字符串而不是颜色,如果你使用textColor那么你必须使用resources.getColor(R.color.my_color, null)来指定真实的资源ID resources.getColor(R.color.my_color, null)这将不会如此讨厌你不必传递可选的主题参数(这里是null ) 在这里创建Resources扩展有用吗? fun Int.fromResources(resources: Resources): Int { return resources.getColor(this, null) } 什么是推荐的方式? 编辑 我改变了textColor值的扩展,做到这一点,我发现最干净的事情,除了我不知道这是否真的是Android友好 var android.widget.TextView.textColor: Int get() = throw AnkoException(“‘android.widget.TextView.textColor’ property does not have a getter”) set(v) = setTextColor(resources.getColor(v, null))

在Kotlin中使用Anko SQLite获取记录数

目前正在学习Kotlin和翻译iOS应用程序,这包括在SQLite数据库上运行查询,我正在使用Anko SQLite扩展来运行查询,例如运行“SELECT * FROM QuoteType”我正在使用 val quoteTypes = database.use { select(QuoteType.TABLE_NAME).exec { parseList(classParser()) } } 我正在努力找出运行SELECT COUNT(recordId)FROM QuoteType 任何人都可以指向正确的方向吗? 干杯 斯图尔特

我的模型更改时如何重绘Anko frameLayout?

我有一个Anko组件 ,在这里我创建了一些代码,如下所示: override fun createView(ui: AnkoContext<T>) = with(ui) { frameLayout { var imgView = imageView(R.drawable.ic_1).lparams { horizontalMargin = … topMargin = … width = … height = … } imgView.backgroundColor = gameModel.colour } } 我的imgView的背景取决于我的模型中的颜色。 让我们想象我在其他地方更新我的模型。 如何“刷新”Anko组件UI以反映新的gameModel.colour ? 我从来没有做过任何Android之前,但似乎通常会使用invalidate()或requestLayout()但他们似乎并没有工作。

如何使用Anko DSL制作通用AppBar?

我正在尝试制作一个可以插入其他Anko组件的工具栏。 这是我要做的一个例子: class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) MainUI().setContentView(this) val toolbar: Toolbar = find(R.id.toolbar) setSupportActionBar(toolbar) } } class MainUI : AnkoComponent<MainActivity> { override fun createView(ui: AnkoContext<MainActivity>) = with(ui) { coordinatorLayout { fitsSystemWindows = true lparams { width = matchParent height = matchParent } ToolbarUI().createView(ui).lparams { width = matchParent } recyclerView […]

预期的类型ID资源

我正在使用ANKO建立简单的项目。 当我尝试为EditText设置id时,出现以下错误。 确保传递给API的资源ID是正确的类型; 例如,调用Resources.getColor(R.string.name)是错误的。 import android.support.v7.app.AppCompatActivity import android.os.Bundle import org.jetbrains.anko.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) relativeLayout { editText{ id = 1 } } } }

变量被声明为var,但编译器正在说val

编译器给我错误 错误:(97,17)Val不能被重新分配 但该变量被声明为var 。 编辑:你可以在我的代码中看到评论。 当我分配rcv = recyclerView和 chkStrictSearch =复选框我在这里得到红色下划线与上面的错误消息工具提示 以下是我的代码: private var rcv: RecyclerView? = null private var chkStrictSearch: android.widget.CheckBox? = null private fun getMainView(): View{ return with(context){ frameLayout{ lparams(width = matchParent, height = matchParent) //Error is below – val cannot be reassign rcv = recyclerView{ lparams(width = matchParent, height = matchParent) setPadding(0, resources.getDimension(R.dimen.toolbar_height).toInt(), […]

安科 – 替代隐藏一个观点,并显示另一个

我应该只是初始化和保持两者,并根据状态设置visibility或GONE visibility ? 有更好的方法吗? 内存问题呢? 我想交替使用RecyclerView和WebView。 我想避免碎片 – 我已经尝试过了,Activity,UI和Fragments之间的责任分离是一个地狱。 如果有问题,我将我的UI(从AnkoComponent继承而来)保存在一个单独的类中。