尝试使用第三个构造函数参数,它接受attr
资源:
addView(Button(activity, null, R.attr.borderlessButtonStyle))
此外,您可以将其声明为 DSL 组件:
fun ViewManager.borderlessButton(textRes: Int = 0) =
borderlessButton(textRes) { }
fun ViewManager.borderlessButton(textRes: Int = 0, init: Button.()->Unit) =
ankoView({ Button(it, null, R.attr.borderlessButtonStyle) }, 0) {
if (textRes != 0) setText(textRes)
init()
}
然后,您的呼叫站点可能如下所示:
borderlessButton(android.R.string.ok)
您可以查看 Anko 的horizontalProgressBar
方法,并HORIZONTAL_PROGRESS_BAR_FACRTORY
以类似的方式声明。