Xamarin中的SignaturePadView在ios和android上形成不同

时间:2017-04-29 08:32:17

标签: c# xamarin xamarin.forms signaturepad

我已将Xamarin.Controls.SignaturePad.Forms的Nuget包添加到我的xamarin表单解决方案中。我调用GetImageStreamAsync(SignatureImageFormat.Jpg);.当我使用白色背景和黑色笔触颜色运行时,它仅适用于ios。 Android显示黑屏。当我尝试将背景设置为黑色和白色笔触颜色时,Android正确显示并且ios显示白色块并且无法正确显示。有没有人对此有任何解决方案?理想情况下,在任一平台上都具有相同的背景颜色和笔触颜色会很好。我可以通过根据操作系统设置背景颜色和笔触颜色来解决它,但这看起来有点hacky。当我调用var str = await PadView.GetImageStreamAsync(SignatureImageFormat.Jpg);时,这就是Xamarin Forms中的android。设置“白色”背景不会显示在Android中。它总是显示黑色方块。有什么我想念的吗?我正在尝试来源https://github.com/xamarin/SignaturePad谢谢。

 <forms:SignaturePadView x:Name="PadView"
                                       HeightRequest="100"
                                       WidthRequest="140"
                                       BackgroundColor="Black"
                                        SignatureLineColor="White" 
                                       PromptText="Sign here"
                                       PromptTextColor="Gray"
                                       ClearText="Clear"
                                       ClearTextColor="{StaticResource Accent}"
                                       StrokeColor="White"
                                       StrokeWidth="4" />

1 个答案:

答案 0 :(得分:1)

请参阅注释 - 在创建签名图像时,将源和硬编码白色重建为Android背景颜色。它适合我必须做的事情,如果你想要另一种颜色可能不起作用,或者你可能需要在android和ios版本中硬编码你自己的颜色。没有仔细研究SignaturePad代码,看看发生了什么。