ZXingBarcodeImageView(二维码)显示在iOS上,但不显示在Android上(Xamarin.Forms)
这段代码用于在Xamarin.Forms应用程序中显示二维码,可在iOS中使用,但在Android上无法使用:ZXingBarcodeImageView(二维码)显示在iOS上,但不显示在Android上(Xamarin.Forms),xamarin,xamarin.forms,f#,xamarin.android,qr-code,Xamarin,Xamarin.forms,F#,Xamarin.android,Qr Code,这段代码用于在Xamarin.Forms应用程序中显示二维码,可在iOS中使用,但在Android上无法使用: let barCode = ZXingBarcodeImageView(HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.FillAndExpand,
let barCode = ZXingBarcodeImageView(HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand,
BarcodeFormat = ZXing.BarcodeFormat.QR_CODE,
BarcodeValue = foo)
barCode.BarcodeOptions.Width <- 500
barCode.BarcodeOptions.Height <- 500
mainLayout.Children.Add(barCode)
let barCode=ZXingBarcodeImageView(水平选项=LayoutOptions.FillAndExpand,
VerticalOptions=LayoutOptions.FillAndExpand,
条形码格式=ZXing.BarcodeFormat.QR_码,
条形码值=foo)
barCode.BarcodeOptions.Width幸运的是,我只需要在自己的Xamarin.Forms项目中使用ZXing.Net.Mobile
。在那里,我设法用下一个C#代码显示iOS和Android的QRCode:
请注意,此库中有一个know,您必须明确设置WidthRequest和HeightRequest
附言:或多或少也讨论过同样的问题。您是否初始化了Android库?这是一个在iOS和Android上运行的C#示例是的,我初始化了它,这里有完整的补丁@EvZ设置HeightRequest和WidthreQuest工作!!!很高兴能帮上忙,把它作为答案贴了出来。
ZXingBarcodeImageView GenerateQR(string codeValue)
{
var qrCode = new ZXingBarcodeImageView
{
BarcodeFormat = BarcodeFormat.QR_CODE,
BarcodeOptions = new QrCodeEncodingOptions
{
Height = 350,
Width = 350
},
BarcodeValue = codeValue,
VerticalOptions = LayoutOptions.CenterAndExpand,
HorizontalOptions = LayoutOptions.CenterAndExpand
};
// Workaround for iOS
qrCode.WidthRequest = 350;
qrCode.HeightRequest = 350;
return qrCode;
}