Android layout Anko如何更改按钮颜色?
我正在尝试更改线性布局中按钮的颜色:Android layout Anko如何更改按钮颜色?,android-layout,button,android-button,anko,Android Layout,Button,Android Button,Anko,我正在尝试更改线性布局中按钮的颜色: class MoodActivityUI : AnkoComponent<MoodActivity> { override fun createView(ui: AnkoContext<MoodActivity>) = with(ui) { frameLayout { verticalLayout { linearLayout { button("3")
class MoodActivityUI : AnkoComponent<MoodActivity> {
override fun createView(ui: AnkoContext<MoodActivity>) = with(ui) {
frameLayout {
verticalLayout {
linearLayout {
button("3"){
setBackgroundColor(Color.parseColor("red"))
}.lparams{
width = dip(53)
height = dip(53)
leftMargin=dip(6)
}
button("2"){
}.lparams{
width = dip(53)
height = dip(53)}
button("1"){
}.lparams{
width = dip(53)
height = dip(53)}
...
类MoodActivityUI:AnkoComponent{
覆盖趣味createView(ui:AnkoContext)=使用(ui){
框架布局{
垂直布局{
线性布局{
按钮(“3”){
setBackgroundColor(Color.parseColor(“红色”))
}.lparams{
宽度=倾角(53)
高度=倾角(53)
左边距=倾角(6)
}
按钮(“2”){
}.lparams{
宽度=倾角(53)
高度=倾角(53)}
按钮(“1”){
}.lparams{
宽度=倾角(53)
高度=倾角(53)}
...
结果是这样的:
themedButton("3", theme = R.style.MyButtonStyle) {
}.lparams {
width = dip(53)
height = dip(53)
leftMargin = dip(6)
}
为什么它会超出按钮形状的边界?
如何更改按钮颜色?您可以使用“主题按钮”而不是“按钮”,如下所示:
themedButton("3", theme = R.style.MyButtonStyle) {
}.lparams {
width = dip(53)
height = dip(53)
leftMargin = dip(6)
}
和styles.xml中的样式
<style name="MyButtonStyle" parent="Widget.AppCompat.Button">
<item name="android:colorButtonNormal">#f00</item>
</style>
#f00
button(“-3”){background=ResourcesCompat.getDrawable(参考资料,R.drawable.minus_3_button,null)…您的解决方案与此有什么区别?background=blah blahh完全替换了button的背景,不再是带圆角的灰色矩形(如上图所示)。但我的建议只是对按钮的背景进行着色。