什么';这相当于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反编译器,看看。。。