什么';这相当于Xamarin-C#中的javaandroid.graphics.Paint setColor(int-color)?

什么';这相当于Xamarin-C#中的javaandroid.graphics.Paint setColor(int-color)?,java,c#,android,xamarin,xamarin.android,Java,C#,Android,Xamarin,Xamarin.android,示例代码: using Android.Graphics; int _color Paint mPaint; mPaint.Color = ? // Here I'm confused. 在Java中: mPaint.setColor( _color ); Xamarin.Android中会有什么内容? 如何从int设置绘画中的颜色? 我提到: 有答案吗 找到了两种您可能希望尝试的方法,虽然没有对它们进行太多测试,但第一种方法似乎很有效。试一试,如果有人知道两者中哪一

示例代码:

using Android.Graphics;

int _color
Paint mPaint;

mPaint.Color = ?     // Here I'm confused.
在Java中:

mPaint.setColor( _color );
Xamarin.Android中会有什么内容?

如何从int设置绘画中的颜色?


我提到:



有答案吗

找到了两种您可能希望尝试的方法,虽然没有对它们进行太多测试,但第一种方法似乎很有效。试一试,如果有人知道两者中哪一个更好,或者我想知道哪一个更好,因为我也想在我的代码中使用它。我写了很长一段时间,只是为了让你知道每种颜色来自哪个名称空间

第一种选择:

int a = Android.Graphics.Color.GetAlphaComponent(_color);
int r = Android.Graphics.Color.GetRedComponent(_color);
int g = Android.Graphics.Color.GetGreenComponent(_color);
int b = Android.Graphics.Color.GetBlueComponent(_color);
mPaint.Color = Android.Graphics.Color.Argb(a, r, g, b);
第二种选择:

var x = System.Drawing.Color.FromArgb(_color);
mPaint.Color = Android.Graphics.Color.Argb(x.A, x.R, x.G, x.B);

我终于找到了解决办法

get
set
开头的方法可以映射到属性:

Paint.setColor(int)方法绑定为Paint.Color属性:

它不是一个
int
值,而是一个
Android.Graphics.Color
结构:

mPaint.Color = new Android.Graphics.Color (_color);

参考:


谢谢@Jonathan_Pryor。

不知道为什么要使用
int
来存储颜色的值,但这可能会有所帮助:我只想知道Xamarin的等价物**Android,Graphics.Paint.setColor(int-color)**在JavaSure中,只需拿出你最喜欢的Java反编译器,看看。。。