Pull to refresh
15
0

Пользователь

Send message

Такие сервисы действительно есть, и мы даже упоминали самые популярные из них в нашей статье. Но у них есть одна общая проблема: в бесплатных версиях данных сервисов ограниченный набор полей по количеству и составу. Вы же можете в простом блокноте создать текст визитки с нужными вам полями и потом сгенерировать QR-код.

Изображение в QR коде можно разместить двумя способами: в виде web-ссылки или закодировать в base-64. Первый вариант проще и итоговый QR-код действительно будет меньше размером. Но после сканирования без интернета на устройстве изображение не подгрузится. В то время, как закодированное в base-64 изображение сразу появляется в визитке.

Согласны, спасибо за уточнение! #lazy_builder — это один из способов организации кэширования и оптимизации сайта, доступный разработчику. А BigPipe работает в ядре (самостоятельно, но и влияет на обработку #lazy_builder).

Статья задумывалась как гайд начального уровня для разработчиков, первый раз столкнувшихся с необходимостью применения #lazy_builder, и мы не включали подробностей о том, что «под капотом».
Да, такой вариант Xamarin.Forms предусматривает.
Похожий функционал появился в версии 4.7 и пока является экспериментальным — это Xamarin.Forms.Shapes. Для его использования нужно его для начала «включить», изменив конструктор в классе App.xaml.cs:
        public App()
        {
            Device.SetFlags(new string[] { "Shapes_Experimental" });
            InitializeComponent();

            MainPage = new MainPage();
        }

Затем добавить в ресурсы страницы или всего приложения нужную иконку:
Пример иконки
<Application.Resources>
        <Path x:Key="pp" Data="F1 M 24.0033,56.0078L 24.0033,38.0053L 22.0031,40.0056L 19.0027,35.0049L 38.0053,20.0028L 45.0063,25.5299L 45.0063,21.753L 49.0068,21.0029L 49.0068,28.6882L 57.008,35.0049L 54.0075,40.0056L 52.0073,38.0053L 52.0073,56.0078L 24.0033,56.0078 Z M 38.0053,26.9204L 27.0038,36.005L 27.0038,53.0074L 33.0046,53.0074L 33.0046,42.006L 43.006,42.006L 43.006,53.0074L 49.0068,53.0074L 49.0068,36.005L 38.0053,26.9204 Z" />
</Application.Resources>


Написать конвертер, который переведет его в объект PathFiguresCollection:
Пример конвертера
public class PathToFiguresConverter : IValueConverter
    {
        public object Convert( object value, Type targetType, object parameter, CultureInfo culture )
        {
            var path = value as Path;
            var figures = (path.Data as PathGeometry).Figures;
            return figures;
        }

        public object ConvertBack( object value, Type targetType, object parameter, CultureInfo culture )
        {
            throw new NotImplementedException();
        }
    }


Далее уже можно использовать как угодно, например при создании кастомного контрола или добавления на экран как отдельного элемента управления.
Пример кода для использования как элемента управления
<StackLayout
        Padding="30"
        Spacing="20">
        <Path
            Fill="Red"
            HorizontalOptions="Center"
            Aspect="Uniform"
            WidthRequest="100"
            HeightRequest="100">
            <Path.Data>
                <PathGeometry
                    Figures="{Binding Source={StaticResource pp}, Converter={StaticResource converter}}" />
            </Path.Data>
            <Path.GestureRecognizers>
                <TapGestureRecognizer Tapped="TapGestureRecognizer_Tapped"/>
            </Path.GestureRecognizers>
        </Path>
    </StackLayout>


Результат



Напрямую в кнопку загрузить к сожалению не получится, потому что класс Xamarin.Forms.Shape наследуется от View, зато поэтому его объекты можно использовать как контролы.

А вот с какими-то более сложными изображениями, которые состоят из нескольких path, придется больше возиться, поскольку предложенный Вами способ в данный не укладывается. Или мы чего-то не учли.
Hangouts, Zoom, Discord, ну и куда уж без Skype
Для себя, как и вы, я написал скрипты с использованием openssl для генерации сертификатов с разной длиной цепочки доверия =)

Поделитесь, если есть возможность )
Вот, выложил на GitHub.
сначала запустите файл create_root_cert_and_key.sh для генерации корневого сертификата, потом create_certificate_for_domain.sh
Честно говоря, на Windows не пробовал. Попробую запустить проект и посмотреть как быть с сертификатом там. Вы только в FireFox используете?
Именно! Это исключительно для dev. А шпаргалка хорошая, спасибо.
Мы всесторонне тестируем приложения, соответственно все пункты инструкции так или иначе проверяются, кроме момента с IPv6 через MacNAT64 — всегда использовали полноценный IPv6, этого хватало.

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

Information

Rating
Does not participate
Registered
Activity