我希望使用anko在普通按钮的中心放置一个图标。我试过了
button.backgroundResource = R.drawable.arrow_forward
但我得到了覆盖整个按钮的drawable并从其父级获取背景颜色(在按钮explicite上设置背景颜色不起作用)。
我也尝试了drawable = ...
,效果相同。如何设置带有anko的图标以具有原始高宽比并居中?
答案 0 :(得分:4)
首先,要在按钮上设置图标/图像,您应该使用java -Dspring.profiles.active=dev -jar application.jar
。
然后很容易。
ImageButton
如果您需要使用其他资源或drawable,那么要在没有找到资源的情况下获取它,请使用imageButton{
imageResource = R.drawable.ic_cc_checkmark
}
希望这有助于某人
答案 1 :(得分:1)
不确定Anko应该如何运作。 技术上对于Android,假设你有一个图像按钮,你应该这样做:
((ImageButton)findViewById(R.id.yourButtonID)).setImageResource(R.drawable.yourDrawable);
答案 2 :(得分:1)
如果其他人仍在尝试实现这一目标,请参阅以下指南:
1.像下面这样创建扩展功能(可能在独立的.kt
文件中,或者在您想使用按钮的Activity
或Fragment
类文件中),
inline fun ViewManager.materialButton(@StyleRes theme: Int, init: MaterialButton.() -> Unit = {}): MaterialButton {
return ankoView({ MaterialButton(it) }, theme, init = init)
}
materialButton(R.style.App_ThemeOverlay /** some overlay theme **/) {
icon = context.getDrawable(R.drawable.arrow_forward)
// ... other regular and material button properties here ...
}