Search
Write a publication
Pull to refresh
10
0
Александр Минаев @aleks42

Разработчик C#

Send message

Xamarin.Forms — определение координат нажатия на экран

Reading time5 min
Views2.9K

Некоторые элементы управления в приложении могут реагировать на жесты - например кнопки, CollectionView, выезжающее сбоку меню у FlyoutPage. Ещё есть распознаватели жестов (GestureRecognizers), которые можно добавить элементам управления, не умеющим реагировать на касания. Можно использовать эффекты (Effects).

Но иногда надо узнать о касании в любом месте экрана и координаты этого касания. Например, для рисования пальцем или для написания пользовательских элементов управления. На андроид и iOS есть способ это сделать при помощи DependencyService. Это странно, но часть такого полезного и можно сказать базового функционала надо писать самому или покупать (https://www.mrgestures.com/).

Читать далее

Xamarin.Forms — декоративное отображение QRCode с помощью SkiaSharp

Reading time2 min
Views5.4K


Для вывода/чтения штрихкодов есть популярная библиотека ZXing. Она умеет выводить и считывать много разных форматов: QRCode, Aztec и другие, более 2 десятков. Для считывания кодов в ней есть готовый контрол ZXingScannerView. Требуется минимум кода, чтобы добавить этот функционал в ваше приложение.

Однако, при помощи этой библиотеки код будет изображён канонически, чёрным по белому. Рассмотрим случай, когда надо изобразить код нестандартного вида, например цветной, со скруглёнными элементами или украшенный каким-либо другим способом (и чтобы он при этом продолжал хорошо считываться).

И настоящая свобода творчества открывается только если нарисовать код самому — тогда всё полностью в ваших руках. Этим и займёмся на примере QR-кода.
Читать дальше →

Xamarin.Forms — простой пример Host-based Card Emulation

Reading time10 min
Views8K
В этой статье будем реализовывать так называемую Host-based Card Emulation (HCE, Эмуляция банковской карты на телефоне). В сети много подробных описаний этой технологии, здесь я сделал акцент именно на получении работающих приложений эмулятора и ридера и решении ряда практических задач. Да, понадобятся 2 устройства с nfc.

Сценариев использования очень много: система пропусков, карты лояльности, транспортные карты, получение дополнительной информации об экспонатах в музее, менеджер паролей.

При этом приложение на телефоне, эмулирующем карту, может быть запущено или нет и экран вашего телефона может быть заблокирован.
Читать дальше →

Xamarin.Forms — удобное использование иконочных шрифтов в приложении

Reading time5 min
Views4.3K

Постановка задачи


Для отображения иконок в приложении Xamarin.Forms можно использовать изображения в различных форматах, например png, svg или шрифты ttf. Чаще всего для добавления стандартных иконок удобен шрифт с иконками, например google material icons. Шрифт с иконками имеет размер около 200КБ и удобство использования здесь обычно важнее экономии на размере приложения. Иконки будут хорошо смотреться при любом разрешении экрана и будут чёрно-белыми.

Для использования иконок есть готовые nuget-пакеты. Я долгое время использовал iconize (nuget — www.nuget.org/packages/Xam.Plugin.Iconize; git — github.com/jsmarcus/Iconize). Он позволяет подключать более десяти шрифтов, добавляет новые контролы, такие как IconButton, IconImage, IconLabel и т.п. Но тут есть обычные аргументы против готовых библиотек: лишний функционал, лишний размер файлов, не полностью устраивает поведение, баги и т.п. Поэтому в определённый момент решил отказаться от готовой библиотеки и заменить ее на простейший велосипед из пары классов + шрифт.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Software Developer, Mobile Application Developer
Senior
C#
Xamarin