Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 更改按钮背景将删除按钮动画_Android - Fatal编程技术网

Android 更改按钮背景将删除按钮动画

Android 更改按钮背景将删除按钮动画,android,Android,我想使按钮透明,使其颜色与背景颜色相同,但当我更改颜色时,它将丢失其默认动画 我尝试过button.background=ColorDrawable(#fafafa)和button.setBackgroundColor(0xfafafa)都给出了相同的结果,但后者支持早期的API val button = Button(this) button.layoutParams = LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONT

我想使按钮透明,使其颜色与背景颜色相同,但当我更改颜色时,它将丢失其默认动画

我尝试过button.background=ColorDrawable(#fafafa)和button.setBackgroundColor(0xfafafa)都给出了相同的结果,但后者支持早期的API

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中的lotUse
app:backgroundTint
。或者,.谢谢你的回答,但是这个按钮是以编程方式创建的,所以第一个解决方案不可能实现,第二个解决方案需要api 21,我的目标api是14,我可以使用它,但前提是这是唯一的解决方案“但该按钮是以编程方式创建的”——使用
LayoutInflater
并放大布局。没有任何东西强迫您直接通过构造函数创建
按钮
。“第二个需要api 21”——不,它不需要。它需要API级别21之前的帮助,即使用AppCompat和获得的帮助。如果您从
AppCompatActivity
(或相关片段)展开版面,您将自动使用
AppCompatButton
。然后我将尝试这些,非常感谢