gpt4 book ai didi

c# - 如何以编程方式更改 TextView 颜色

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:02 25 4
gpt4 key购买 nike

我被这个看似简单的任务难住了。

我只想将 textview 的颜色和 linearlayout 的背景颜色更改为在我的 colors.xml 资源中设置的颜色文件。

我试过:

myTextView.SetTextColor(this.Resources.GetColor(Resource.Color.myColor));

但这已被弃用。

然后我尝试了:

myTextView.SetTextColor(ContextCompat.GetColor(context, Resource.Color.myColor));

但是 ContextCompat.GetColor() 返回一个 int 而不是 Android.Graphics.Color 所以不会编译。

然后我尝试将颜色设置为样式的一部分:

  <style name="myColorStyle">
<item name="android:textColor">
@color/myColor
</item>
...
</style>

首先使用

myTextView.SetTextAppearance(this, Resource.Style.myColorStyle);

但这也被弃用了

我试过这个:

myTextView.SetTextAppearance(Resource.Style.myColorStyle);

但这会引发异常:

Java.Lang.NoSuchMethodError: no non-static method "Landroid/widget/TextView;.setTextAppearance(I)V"

这个简单的任务是如何完成的?

我正在使用 Xamarin 和 Visual Studio 在 C# 中编码。

最佳答案

在 2017 年,这在某种程度上是通过资源 ID 获取颜色的正确方法,尽管它看起来非常复杂:

new Android.Graphics.Color (ContextCompat.GetColor (this, Resource.Color.bb_orange));

每: https://forums.xamarin.com/discussion/54193/res-getcolor-is-deprecated

关于c# - 如何以编程方式更改 TextView 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36059300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com