Делаю приложение сканирования штрихкодов. Использую Xamarin Forms Проблема с включением фонарика при сканировании. Кнопка нарисована, но как дальше её обработать я не знаю.
private async void ToScannerPage(object sender, EventArgs e)
{
//await Navigation.PushAsync(new ScannerPage());
ZXingScannerPage scanPage = new ZXingScannerPage(new MobileBarcodeScanningOptions { DelayBetweenContinuousScans = 3000 }, new ZXingDefaultOverlay
{
TopText = string.Empty,
BottomText = "Автоматическое сканирование каждые 3 сек.",
ShowFlashButton = true
});
scanPage.OnScanResult += (result) =>
Device.BeginInvokeOnMainThread(() =>
DisplayAlert(result.BarcodeFormat.ToString(), result.Text, "OK"));
await Navigation.PushAsync(scanPage);
}
Вдруг кому понадобится решение:
//сканирование штрихкода
public void ScanAsync()
{
ZXingScannerView zxing = new ZXingScannerView()
{
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand,
IsAnalyzing = true,
IsScanning = true,
};
//промежуток между сканированием
zxing.Options.DelayBetweenContinuousScans = 3000;
zxing.Options.BuildMultiFormatReader();
zxing.OnScanResult += (result) =>
{
Device.BeginInvokeOnMainThread(() =>
{
DisplayAlert(result.BarcodeFormat.ToString(), result.Text, "OK");
//добавление в БД
BarecodeResult barecodeResult = new BarecodeResult();
barecodeResult.BarecodeFormat = result.BarcodeFormat.ToString();
barecodeResult.TextResult = result.Text;
barecodeResult.Status = 0;
barecodeResult.dateTime = DateTime.Now;
if (!String.IsNullOrEmpty(barecodeResult.BarecodeFormat))
{
App.Database.SaveItem(barecodeResult);
}
});
};
var overlay = new ZXingDefaultOverlay
{
TopText = null,
BottomText = "Автомаическое сканирование каждые 3 сек.",
ShowFlashButton = true,
};
overlay.FlashButtonClicked += (a, b) =>
{
zxing.IsTorchOn = !zxing.IsTorchOn;
};
var cancel = new Button()
{
Text = "Отмена",
BackgroundColor = Color.Red,
VerticalOptions = LayoutOptions.EndAndExpand,
HorizontalOptions = LayoutOptions.EndAndExpand
};
cancel.Clicked += (a, b) =>
{
Navigation.PopToRootAsync();
NavigationPage navPage = (NavigationPage)App.Current.MainPage;
};
var grid = new Grid
{
VerticalOptions = LayoutOptions.FillAndExpand,
HorizontalOptions = LayoutOptions.FillAndExpand,
};
grid.Children.Add(zxing);
grid.Children.Add(overlay);
grid.Children.Add(cancel);
// объявляем элементы на страницу
Content = grid;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Имеется массив кнопок btnИмеется изображение, которое хранится в ресурсах Properties
На выходе выводит строку, а должно массив, где 1 строка - 1 элемент Текст в файл писал вручнуюФайл, можно сказать использую вместо базы данных,...
Создал новый столбец с помощью миграций, в него мне надо вставлять данные, но когда проходит запрос, то INSERT этот столбец игнорирует