Android 更改按钮背景将删除按钮动画
我想使按钮透明,使其颜色与背景颜色相同,但当我更改颜色时,它将丢失其默认动画 我尝试过button.background=ColorDrawable(#fafafa)和button.setBackgroundColor(0xfafafa)都给出了相同的结果,但后者支持早期的APIAndroid 更改按钮背景将删除按钮动画,android,Android,我想使按钮透明,使其颜色与背景颜色相同,但当我更改颜色时,它将丢失其默认动画 我尝试过button.background=ColorDrawable(#fafafa)和button.setBackgroundColor(0xfafafa)都给出了相同的结果,但后者支持早期的API val button = Button(this) button.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONT
val button = Button(this)
button.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT) button.setTextSize(TypedValue.COMPLEX_UNIT_SP, 60F)
button.typeface = Typeface.SANS_SERIF
button.setBackgroundColor(0xfafafa)
没有动画,只是在触摸时保持不变,但是
val button = Button(this)
button.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT)
button.setTextSize(TypedValue.COMPLEX_UNIT_SP, 60F)
button.typeface = Typeface.SANS_SERIF
只是一个默认的材质设计按钮,除了颜色外,它工作正常
我想按钮保持其动画,即使它的颜色改变。我该怎么做呢?在布局XML中使用
app:backgroundTint
。或者,.谢谢你的回答,但是这个按钮是以编程方式创建的,所以第一个解决方案不可能实现,第二个解决方案需要api 21,我的目标api是14,我可以使用它,但前提是这是唯一的解决方案“但该按钮是以编程方式创建的”——使用LayoutInflater
并放大布局。没有任何东西强迫您直接通过构造函数创建按钮
。“第二个需要api 21”——不,它不需要。它需要API级别21之前的帮助,即使用AppCompat和获得的帮助。如果您从AppCompatActivity
(或相关片段)展开版面,您将自动使用AppCompatButton
。然后我将尝试这些方法,感谢您版面XML中的lotUseapp:backgroundTint
。或者,.谢谢你的回答,但是这个按钮是以编程方式创建的,所以第一个解决方案不可能实现,第二个解决方案需要api 21,我的目标api是14,我可以使用它,但前提是这是唯一的解决方案“但该按钮是以编程方式创建的”——使用LayoutInflater
并放大布局。没有任何东西强迫您直接通过构造函数创建按钮
。“第二个需要api 21”——不,它不需要。它需要API级别21之前的帮助,即使用AppCompat和获得的帮助。如果您从AppCompatActivity
(或相关片段)展开版面,您将自动使用AppCompatButton
。然后我将尝试这些,非常感谢