最近写程序就遇到了这么个难题,在TextView 上,正常字体颜色显示是黑色。如果在activity中动态的改变字体颜色(预期目标是字体颜色变成红色),无论如何都是灰显,简单代码如下所示。郁闷了好些时日。
private TextView mTextDisp;
mTextDisp = (TextView) findViewById(R.id.textDisp_mian);
mTextDisp.setTextColor(R.color.red);(使用color.xml文件中的颜色值)
这样写是怎么也变不成红色的,而且程序不报错,不知道朋友们有没有试过。而且debug所走的分支也是正确的。
我就单独写了一个Demo来测试,结果还是灰显。
有的朋友要说,是不是red的颜色值写错了。不是,color中的颜色值配置对着呢。
其实,答案很简单,就错在mTextDisp.setTextColor(R.color.red);这行代码上。
首先,在xml中不要写默认的字体颜色值,即android:textColor="xxx"
其次,在activity中mTextDisp.setTextColor(context.getResources().getColor(R.color.red));(使用color.xml文件中的颜色值)
这样就OK了。或者直接使用Color类中的值:mTextDisp.setTextColor(Color.RED);(使用系统自带的颜色类Color类中的颜色值)。
分享到:
相关推荐
在许多情况下,我们可能需要根据应用程序的逻辑或用户交互来动态地更改TextView的文本颜色和大小。本文将深入探讨如何通过编程方式实现这一功能。 首先,我们要了解TextView的基本属性。TextView有`android:...
在字体颜色的Selector中,`android:color`用于设置字体颜色。 接下来,在布局文件中引用这些Selector,例如在一个LinearLayout中添加一个TextView: ```xml android:layout_width="match_parent" android:...
本文将详细讲解如何在Android中实现TextView字体颜色的设置,包括两种主要方法:通过XML配置文件和在Activity中动态设置。 **一、通过XML配置文件设置** 1. **创建XML资源文件** 在`res`目录下,通常有`values`子...
设置TextView的字体颜色是常见的需求,尤其在界面设计中,颜色搭配能极大地影响用户体验。本篇文章将详细介绍如何在Android中设置TextView的字体颜色,包括两种主要的方法。 ### 方法一:通过XML布局文件设置 1. *...
在`onDraw()`方法中,我们会使用Canvas对象进行实际的绘图工作,而Paint对象则用来设置文字样式,如颜色、字体、大小等。我们可以通过改变Paint对象的属性,然后在Canvas上重新绘制TextView的内容,以实现动态效果...
在上面的代码中,我们使用了 SpannableStringBuilder 对象来创建一个可变化的文本,然后使用 ForegroundColorSpan 对象来更改字体颜色。最后,将 SpannableStringBuilder 对象设置到 TextView 中。 结论 本文档向...
当然,我们也可以在代码中动态地改变TextView的颜色,如下所示: ```java TextView myTextView = findViewById(R.id.myTextView); myTextView.setTextColor(ContextCompat.getColor(this, R.color.red)); ``` 这里...
在实际应用中,我们经常需要根据需求定制ListView,比如改变不同列表项(item)的字体颜色。标题"android 修改listview的不同item字体的颜色"和描述"改代码主要是针对listview修改指定item字体颜色"都指向了这个主题...
首先,我们需要在XML布局文件中创建一个TextView,并设置好基本属性,例如字体大小、颜色等。然后,我们可以使用`android:autoLink`属性开启自动链接,如`autoLink="web"`来识别URL并自动转换为超链接。然而,这种...
在这个小Demo中,我们将探讨如何自定义`TextView`的字体颜色和大小,以满足不同场景下的需求。这个过程涉及到Android布局XML文件的编写以及Java或Kotlin代码的实现。 首先,我们可以在布局XML文件中对`TextView`的...
在这里,我们根据`position`判断当前项的位置,然后设置不同的字体颜色和样式。`R.layout.list_item`是每个列表项的布局文件,其中包含了一个TextView(假设ID为`text_view`)。 接下来,你需要在主Activity中设置...
`Handler`可以用来定时改变`TextView`的字体颜色,以实现动态效果。主要步骤如下: 1. **创建颜色列表**:定义一个颜色数组,包含要随机选取的颜色值。 2. **创建定时任务**:使用`Runnable`和`postDelayed()`方法...
为了使超链接有明显的视觉区别,我们还可以通过`ForegroundColorSpan`改变链接的字体颜色,例如: ```java ss.setSpan(new ForegroundColorSpan(Color.BLUE), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ``` ...
通过XML布局文件或代码动态创建,可以设置字体、颜色、大小等属性。要使TextView中的文本成为可点击的链接,我们需要使用`android:autoLink`属性。在XML布局中,这可以这样设置: ```xml <TextView android:id="@+...
在Activity或Fragment中,可以通过以下方式获取并设置`TextView`: ```java TextView myTextView = findViewById(R.id.myTextView); myTextView.setText("新的文本"); ``` ### 二、TextView的换行策略 `...
在Android开发中,`TextView`是用于展示文本的常用组件,但有时我们希望部分文本具有不同的样式,比如颜色不同,甚至能响应用户的点击事件,跳转到特定的链接。这通常涉及到`SpannableString`、`ClickableSpan`等...
在Android开发中,`TextView`是展示文本的基本组件,它的功能非常强大,包括显示文本、设置字体样式、颜色、大小等。当涉及到文本的颜色和背景时,策略模式可以很好地发挥作用。我们可以定义不同的策略(即策略接口...
此外,这个demo可能还包含了如何在Activity或Fragment中实例化和使用这个自定义的TextView,以及如何从XML布局文件中引用和配置它。在提供的链接中,开发者Jan_S详细解释了代码的实现逻辑和使用方法。 通过学习和...
在Android系统中,字体的设置通常涉及到TextView、EditText等文本组件,我们可以通过修改它们的属性来改变显示的字体。但是,如果要实现全局字体样式的设置,直接在每个视图组件中设置是不现实的,因此我们需要采用...