Arhn - архитектура программирования

Как я могу дать динамическое заполнение записи в формах Xamarin?

Как я могу дать динамическое заполнение записи в формах Xamarin, которая будет выглядеть одинаково при любом размере экрана мобильного устройства? Я пытаюсь применить заполнение таким образом, используя EntryRenderer.

Control.SetPadding (20,20,0,0);

На маленьких экранах он выглядит идеально, но на больших экранах он действует иначе и выглядит довольно странно.


Ответы:


1

Xamarin.Essentials nuget имеет функцию для получения информация об отображении устройства.

При использовании Xamarin.Essentials nuget обязательно следуйте их шаги по началу работы.

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

var screenWidth   = DeviceDisplay.ScreenMetrics.Width; // in pixels
var screenHeight  = DeviceDisplay.ScreenMetrics.Height: // in pixels
var screenDensity = DeviceDisplay.ScreenMetrics.Density;

А затем используйте комбинацию этой информации для установки отступов:

if(screenWidth <= 400)
{
    Control.SetPadding(20,20,0,0);
}
else if(screenWidth > 400 && screenWidth < 500)
{
    Control.SetPadding(30,20,0,0);
}
else if // continue with whatever conditions need checked

Обратите внимание, что в моем примере я использовал screenWidth, но screenDensity может лучше подойти для вашей проблемы. Возможно, вам придется отрегулировать несколько раз, пока вы не найдете то, что работает.

14.09.2018

2

Если у вас уже есть настраиваемая запись, в которой вы можете установить отступы, это довольно просто.

        if (Xamarin.Forms.Device.Idiom == TargetIdiom.Phone)
        {
            Control.SetPadding(20,20,0,0);
        }
        else if(Xamarin.Forms.Device.Idiom == TargetIdiom.Tablet)
        {
            Control.SetPadding(40,40,0,0);
        }

Вы можете это сделать.

14.09.2018
  • дело не в телефоне и планшете. на самом деле набивка ведет себя по-разному на разных моделях телефонов, как будто она идеально выглядит на samsung galaxy s3, но выглядит странно на samsung galaxy s7. 14.09.2018
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..