在Android XML中无法设置文本视图的文本颜色

3

很抱歉问这个愚蠢的问题,但我无法在Android XML中设置textcolor属性。这是我的代码:

  <TextView
            android:layout_marginTop="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Name"
            android:textStyle="bold"
            android:textColor="@color/TextColor"
            android:textSize="35dp"
            android:layout_gravity="center_horizontal"/>

颜色:

 <color name="TextColor">#00427E</color>

我能在预览屏幕中看到颜色变化,但在真实设备上却看不到。 我的.gradle文件包括:

 compile 'com.android.support:appcompat-v7:23.1.1'

请帮忙


我把textColor改了,但颜色还是没有变化。 - Pihu
此外,我直接在我的文本视图中使用了这个哈希码,但它并没有发生变化。 - Pihu
@PriyankaMinhas 尝试执行“清理 -> 重建”你的项目或重新启动“Android Studio”。 - Jay Rathod
3
你试过通过编程来实现,而不是通过XML进行设置吗? - Sundeep Badhotiya
@PriyankaMinhas 还要使用不同的设备检查只有 XML 的情况。 - Jay Rathod
显示剩余12条评论
5个回答

1
你可以使用编程方式。
setTextColor(Color.parseColor("#00427E"));

或者

setTextColor(getResources().getColor(R.color.TextColor);

你的 color 位于哪里? - IntelliJ Amiya
res/values/color.xml - IntelliJ Amiya

1

尝试TextView的XML代码

 <TextView
    android:layout_marginTop="10dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Name"
    android:textStyle="bold"
    android:textColor="#00427E"
    android:textSize="35sp"
    android:layout_gravity="center"/>

如果这段代码无法工作,请使用Java端。
setTextColor(Color.parseColor("#00427E"));

0
有时候可能是因为你的Android Studio缓存太多了。所以尝试清理缓存。
文件 > 无效化缓存 / 重启点击它。也许能解决你的问题。

@Priyanka Minhas 你有没有检查过我的答案? - user5248371

0
我遇到了同样的问题。我认为这是设备特定的问题。我在Nexus和Motorola设备上进行了测试,一切正常,但在MI设备上选择了默认颜色。为了解决这个问题,需要通过编程设置文本颜色。
TextView textView = (TextView) findViewById(R.id.yourid);
textView.setTextColor(ContextCompat.getColor(this,R.color.TextColor));

0

根据你所写的内容,这个实现应该是有效的:

android:textColor="@color/TextColor"

是改变文本颜色的属性。

我建议你检查一下 TextView 所在布局的背景颜色。有可能背景颜色和你想设置的 TextView 的颜色相同,所以你看不到区别。

如果你想确保,可以在 TextView 上设置黑色或白色,看看是否按照预期出现在屏幕上。

如果你仍然没有得到预期的结果,请将完整的 XML 代码粘贴在这里,这样我们就能更好地理解情况。


谢谢你的回答。我通过编程来设置文本颜色解决了这个问题。不过我不知道为什么在XML中,所设定的颜色在运行时无法显示出来。虽然在布局中我能看到这些颜色。我已经尝试添加了白色和黑色,但没有任何效果。 - Pihu
@PriyankaMinhas,我知道你现在可能已经对这个问题感到厌烦了,而且既然你已经通过代码解决了它,也许你现在不想再改变任何东西。但是,请你试一下最后一件事情,如果可能的话,在你的color.xml文件中,将<color name="TextColor">#00427E</color>改为<color name="textColor">#00427E</color>。我没有注意到这一点,这可能是问题所在。请尝试一次,并告诉我们发生了什么。 - vibhor_shri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接