gpt4 book ai didi

android - Anko 相当于 xml 中的样式 attr

转载 作者:IT老高 更新时间:2023-10-28 13:46:14 26 4
gpt4 key购买 nike

我需要创建无边框按钮。 xml 中设置 Widget.AppCompat.Button.Borderless 的最简单方法。我正在尝试使用 Anko

button(theme = R.style.Widget_AppCompat_Button_Borderless_Colored, text = "Send") {
horizontalGravity = Gravity.END
lparams(wrapContent, wrapContent)
}

但是没有效果。我做错了什么?

最佳答案

尝试使用第三个构造函数参数,它接受 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 的 horizo​​ntalProgressBar 方法和 HORIZONTAL_PROGRESS_BAR_FACRTORY以类似的方式声明。

关于android - Anko 相当于 xml 中的样式 attr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41832267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com