当前位置:  开发笔记 > 编程语言 > 正文

Xamarin Android:以编程方式从colors.xml获取颜色值

如何解决《XamarinAndroid:以编程方式从colors.xml获取颜色值》经验,为你挑选了2个好方法。

如何从colors.xml文件以编程方式获取颜色值到C#代码?

这是我的colors.xml:




  #FFCCFFCC
  #FFFFFFCC
  #FF000000
  #FFFF4444
  #FFE69900
  #FF739900
  #FFF5DEB3

  
    @color/row_a
    @color/row_b
    @color/all_text
    @color/row_red
    @color/row_orange
    @color/row_green
    @color/wheat
  


我试过了:

Color t = (Color)Resource.Colors.wheat;

但当然我不能用这种方式将int值转换为Color.

编辑:

正如我所建议的那样

Color t = Resources.GetColor(Resource.Color.row_a);

但它给了我一个错误:

Error   CS0120  An object reference is required for the non-static field, 
method, or property 'Resources.GetColor(int)'

Marcin Zdune.. 5

问题是我试图从ListView Adapter访问资源.解决方案是使用:

parent.Resources.GetColor(Resource.Color.row_a)

其中parent通入public override View GetView(int position, View convertView, ViewGroup parent)方法.



1> Marcin Zdune..:

问题是我试图从ListView Adapter访问资源.解决方案是使用:

parent.Resources.GetColor(Resource.Color.row_a)

其中parent通入public override View GetView(int position, View convertView, ViewGroup parent)方法.



2> FetFrumos..:

试试这个代码:

  Color t = new Android.Graphics.Color (ContextCompat.GetColor (this, Resource.Color.row_a)); 

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有