如何使用 Anko 设置 FloatingActionButton 边框宽度
How to set FloatingActionButton border width with Anko
我刚从 Java 切换到 Kotlin 并且我正在使用 Anko 用于构建 布局。
这是我的布局:
relativeLayout {
floatingActionButton {
imageSource = R.drawable.kotlin_is_amazing
}.lparams {
width = wrapContent
height = wrapContent
}
}
现在的问题是如何使用 Anko 设置 app:borderWidth
?
如果视图没有相应的setBorderWidth
方法,您可以通过样式实现。
声明将设置此参数的样式。
<style name="whatever">
<item name="app:setBorderWidth">2dp</item>
</style>
在属性中引用此样式。
<attr name="whateverRef" format="reference">@style/whatever</attr>
将此属性作为 defStyleAttr
传递给查看构造函数。
FloatingActionButton(context, null, R.attr.whateverRef)
扩展 Anko DSL。
val whateverFactory = { ctx: Context ->
FloatingActionButton(ctx, null, R.attr.whateverRef)
}
inline fun ViewManager.whateverFab() =
ankoView(whateverFactory, 0, {})
inline fun ViewManager.whateverFab(configure: FloatingActionButton.() -> Unit) =
ankoView(whateverFactory, 0, configure)
我刚从 Java 切换到 Kotlin 并且我正在使用 Anko 用于构建 布局。
这是我的布局:
relativeLayout {
floatingActionButton {
imageSource = R.drawable.kotlin_is_amazing
}.lparams {
width = wrapContent
height = wrapContent
}
}
现在的问题是如何使用 Anko 设置 app:borderWidth
?
如果视图没有相应的setBorderWidth
方法,您可以通过样式实现。
声明将设置此参数的样式。
<style name="whatever"> <item name="app:setBorderWidth">2dp</item> </style>
在属性中引用此样式。
<attr name="whateverRef" format="reference">@style/whatever</attr>
将此属性作为
defStyleAttr
传递给查看构造函数。FloatingActionButton(context, null, R.attr.whateverRef)
扩展 Anko DSL。
val whateverFactory = { ctx: Context -> FloatingActionButton(ctx, null, R.attr.whateverRef) } inline fun ViewManager.whateverFab() = ankoView(whateverFactory, 0, {}) inline fun ViewManager.whateverFab(configure: FloatingActionButton.() -> Unit) = ankoView(whateverFactory, 0, configure)