SignaturePadView в формах Xamarin отличается на ios и android

Я добавил пакеты Nuget для Xamarin.Controls.SignaturePad.Forms в свое решение форм xamarin. Я вызываю GetImageStreamAsync (SignatureImageFormat.Jpg) ;. Когда я запускаю его с белым фоном и черным цветом обводки, он работает только на ios. Android отображает черный экран. ТО, когда я пытаюсь установить фон на черный и белый цвет обводки, Android отображается правильно, а iOS отображает белый блок и не отображается правильно. У кого-нибудь есть решения по этому поводу? В идеале было бы хорошо иметь одинаковый цвет фона и цвет обводки на обеих платформах. Я могу обойти это, установив цвет фона и цвет обводки в зависимости от ОС, но это кажется немного взломанным. Вот что работает с android в Xamarin Forms, когда я вызываю var str = await PadView.GetImageStreamAsync(SignatureImageFormat.Jpg);. Установка «белого» фона не отображается в 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" />

person dayzee    schedule 29.04.2017    source источник
comment
Завершено восстановление исходного кода SignaturePad и установка белого фона изображения.   -  person dayzee    schedule 30.04.2017


Ответы (1)


см. комментарий - Восстановлен исходный код и жестко закодирован белый цвет в цвет фона Android при создании изображения подписи. Это подходит для того, что я должен делать, поэтому может не сработать, если вам нужен другой цвет, или вам, возможно, придется жестко закодировать свой собственный цвет в версии для Android и ios. Недостаточно углубился в код SignaturePad, чтобы понять, что происходит.

person dayzee    schedule 30.04.2017