2016-08-08 22 views

回答

1

通过代码,您可以使用Xamarin.Forms.Platform.Android.ColorExtensionsXamarin.Forms颜色转换为Android.Graphics.Color

在您Xamarin.Android项目(自定义表单渲染器,等...):

Android.Graphics.Color aColor = Xamarin.Forms.Color.Blue.ToAndroid() 

Xamarin.Forms.Color是基于W3C标准,因此您可以使用这些为你的Android色XML资源文件提供在同一个颜色您的自定义AXML基于可绘制/布局的/ etc ...

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<color name="white">#FFFFFF</color> 
<color name="yellow">#FFFF00</color> 
<color name="fuchsia">#FF00FF</color> 
<color name="red">#FF0000</color> 
<color name="silver">#C0C0C0</color> 
<color name="gray">#808080</color> 
<color name="olive">#808000</color> 
<color name="purple">#800080</color> 
<color name="maroon">#800000</color> 
<color name="aqua">#00FFFF</color> 
<color name="lime">#00FF00</color> 
<color name="teal">#008080</color> 
<color name="green">#008000</color> 
<color name="blue">#0000FF</color> 
<color name="navy">#000080</color> 
<color name="black">#000000</color> 
</resources> 

注:这是不可能的AXML文件

中使用基于代码/动态变量
+0

我问的是如果可以使用' Xamarin.Forms.Color.Black'或创建一个来自我的Portable项目的自定义颜色? – joaoasilva

+0

表单*自定义*颜色到Android基于XML的资源,不,。如果您是通过代码完成此操作,那么是的,使用ColorExtensions'ToAndroid' *基于AXML *的资源是静态定义的,不能包含动态值。 – SushiHangover