android应用背景 动态,android – 如何动态更改TextView的背景颜色?
我已经参考了this question并使用circle.xml(在res / drawable中)为TextView实现了循环背景,并为TextView设置为android:background =“@ drawable / circle”.但我需要的是,我需要通过代码动态设置背景颜色.就像棒棒糖联系应用程序,如下所示我该如何实现这一目标?我需要圆形的TextView背景,如上图所示解决方法:您
我已经参考了this question并使用circle.xml(在res / drawable中)为TextView实现了循环背景,并为TextView设置为android:background =“@ drawable / circle”.但我需要的是,我需要通过代码动态设置背景颜色.就像棒棒糖联系应用程序,如下所示
我该如何实现这一目标?我需要圆形的TextView背景,如上图所示
解决方法:
您可以通过多种方式更改TextView背景颜色,例如:
textView.setBackgroundColor(Color.parseColor("#f44336"));
要么
textView.setBackgroundColor(Color.RED);
要么
textView.setBackgroundColor(Color.rgb(255, 0, 0));
要么
textView.setBackgroundColor(getColor(R.color.red_color));
以及许多其他方式……
编辑:
如果要更改可绘制文件中定义的TextView背景颜色,请执行以下操作:
GradientDrawable:
GradientDrawable tvBackground = (GradientDrawable) textView.getBackground();
tvBackground.setColor(Color.parseColor("#f44336"));
StateListDrawable:
StateListDrawable tvBackground = (StateListDrawable) textView.getBackground();
tvBackground.setColorFilter(Color.parseColor("#f44336"), PorterDuff.Mode.SRC_ATOP);
但是,如果您不想设置滤色器,可以按照此link中的答案分别获取每个状态的drawable.
标签:android,textview,background-drawable
来源: https://codeday.me/bug/20190722/1504106.html
更多推荐
所有评论(0)