xamarin实现扫码操作 ZXing.Net.Mobile

参考:

Barcode Scanning Made Easy with ZXing.Net Mobile - Xamarin Blog (microsoft.com)

使用提前说明:

我使用的是模拟器(夜神)进行调试;

调用摄像头的方式设置成了截图调用;

条形码随便网上找的,条形码内容为“211314”

1、引用包

2、MainPage界面

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="App1.MainPage">

    <StackLayout  VerticalOptions="Center">
        
        <Button Text="点击扫码" Clicked="Button_Clicked" Padding="10" />
        
        <StackLayout Orientation="Horizontal" >
            <Label>扫码内容:</Label>
            <Label x:Name="content"></Label>
        </StackLayout>
        
    </StackLayout>

</ContentPage>
using System;
using Xamarin.Forms;
using ZXing.Net.Mobile.Forms;

namespace App1
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }
		
        // 点击扫码
        private async void Button_Clicked(object sender, EventArgs e)
        {
            // 这个是ZXing.Net.Mobile.Forms包中自带的界面;扫一扫的那个界面
            var scanPage = new ZXingScannerPage();


            // ZXingScannerPage界面中自带的一个回调方法
            //      当识别到条码或二维码内容后执行;
            //      result:扫码返回的结果
            scanPage.OnScanResult += (result) =>
            {

                // 在主线程执行
                Device.BeginInvokeOnMainThread(async () =>
                {
                    await Navigation.PopModalAsync(); //关闭扫码界面
                    await DisplayAlert("条码内容", result.Text, "确定");
                    
                    content.Text = result.Text;// 给调用扫码的窗体赋值
                });
            };

            await Navigation.PushModalAsync(scanPage);// 打开扫码界面

        }
    }
}

3、效果

扫码界面

扫描二维码

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值