我已经参考了this question并使用circle.xml(在res / drawable中)为TextView实现了循环背景,并为TextView设置为android:background =“@ drawable / circle”.但我需要的是,我需要通过代码动态设置背景颜色.就像棒棒糖联系应用程序,如下所示

RPTrW.png

我该如何实现这一目标?我需要圆形的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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐