Как сделать круглую кнопку xamarin

Обновлено: 07.07.2024

Пример использования инструмента Xamarin.Forms для создания пользовательского интерфейса системного администратора, удаленно управляющего рабочими станциями с телефона.

Введение

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

Целью рассматриваемого проекта является разработка приложения на основе Xamarin.Forms, которое позволит системному администратору проводить удаленное наблюдение и контроль рабочих станций на рабочем месте. Проект будет включать разработку двух приложений: одно будет работать на рабочих станциях, другое – на мобильном телефоне администратора. Внедрение механизма позволит администратору не только следить за действиями пользователей, но и даст возможность удаленно контролировать конкретные рабочие станции.

Идея проекта

Итак, в проекте мы создадим два приложения, серверное и клиентское.

Серверное приложение будет постоянно работать на каждой рабочей станции. Приложение сервера будет связано с клиентским приложением через Wi-Fi соединение. Программа делает скриншот активности пользователя по требованию администратора и отправляет его в клиентское приложение. Серверное приложение будет принимать, интерпретировать и выполнять команды, полученные от мобильного (клиентского) приложения.

1.1. Создаем консольное приложение

1.2. Добавляем соответствующее пространство имен

Создаем экземпляр TcpClient и TcpListener . Объявляем строку локальной переменной с именем ipString .

1.3. Узнаем IP адрес вашей машины

Напишем метод внутри функции Main , который будет перехватывать и возвращать IP-адрес машины.

1.4. Слушаем порт 1234

1.5. Создаем соединение с клиентом

1.6. Пишем метод Sleep

Расширяем пространство имён проекта. Добавляем внутри функции Main метод Sleep :

2.1. Создаем проект Xamarin.Forms

Открываем Visual Studio и переходим в New Project-> Cross-platform-> Xamarin.Forms-> Blank app . Даем ему имя, например, XamarinFormsClient .

2.2. Создаем класс соединения

Далее в нашем проекте нужно определить класс соединения для создания экземпляра TCP Client. Создаем новый класс с именем Connection.cs и записываем в него следующий код.

2.3. Создание пользовательского интерфейса

Нам нужны два редактируемых текстовых поля для IP-адреса и порта, и одна кнопка для соединения с сервером. Откроем файл макета MainPage и заменим код на следующий:

2.4. Описываем метод соединения

Опишем взаимосвязь элементов управления пользовательского интерфейса с классом MainPage . Далее свяжемся с приложением сервера, используя IP-адрес и порт рабочей станции.

2.5. Обновление класса приложения

Открываем файл App.xaml внутри этого класса и добавляем следующий код в конструктор класса App.

Давайте проверим соединение сервера и клиентского приложения, которое мы только что создали. Основной модуль запуска приложения Xamarin.Forms отобразит главную страницу. Запустим серверное приложение, скопируем IP-адрес и порт рабочей станции из серверного приложения. Поместим в клиентское приложение и нажимаем Connect.

Поговорим о том, как будет работать функция скриншота. Клиент запрашивает скриншот, отправляет команду в виде строки "TSC1" , на рабочей станции серверное приложение делает скриншот. Размер изображения может быть большим, поэтому мы преобразуем данные снимка экрана в пакеты байтового типа и отправляем клиентскому приложению. Когда клиент получит пакеты байтового типа, он преобразует их в исходную форму.

Добавим функцию выключения рабочей станции. Если клиент отправляет команду “SHTD3” серверному приложению, сервер выполнит функцию выключения компьютера.

Вернемся к серверному приложению и опишем функции снимка экрана выключения рабочей станции. Откроем файл program.cs и запишем следующий код внутри цикла while , который мы реализовали ранее.

Добавим в серверное приложение следующие пространства имен. Иначе Visual Studio не распознает ключевое слово graphics функции снимка экрана.

Вернемся к program.cs и поместите эти функции в основной класс.

Итак, мы закончили с серверным приложением.

7.1. Создаем страницу операций

Возвращаемся в клиентское приложение (Xamarin.Forms) и добавляем новый ContentPage с именем OperationsPage . Внутри этого макета добавим следующий код, чтобы создать больше кнопок.

7.2. Добавляем в класс операций методы ожидания

Открываем файл OperationPage.xaml и переносим следующий код.

8. Тестируем!

Запускаем оба приложения – сервер и клиент. Вводим IP-адрес и порт рабочей станции, которые вы видите на экране вывода приложения сервера, в клиентское приложение и нажимаем Connect .

После подключения к серверу теперь мы можем выполнять различные команды.

Ура! Всё работает. При нажатии на Sleep рабочая станция переходит в спящий режим. При нажатии на Take Screenshot через пару мгновений скриншот рабочей станции оказывается внутри клиентского приложения.

Узнать, как стилизовать круглые кнопки с помощью CSS.

Круглые кнопки

Создать круглые кнопки

Шаг 1) Добавить HTML:

Пример

Шаг 2) Добавить CSS:

Добавить закругленные углы к кнопке с изображением свойство border-radius :

Пример

Зайдите на наш учебник CSS Кнопки, чтобы узнать больше о том, как стилизовать кнопки.

Упражнения

Тесты

КАК СДЕЛАТЬ

ПОДЕЛИТЬСЯ

СЕРТИФИКАТЫ

Если вы хотите сообщить об ошибке или сделать предложение, не стесняйтесь, присылайте нам электронное письмо:

Ваше предложение:

Спасибо, за вашу помощь!

Топ Учебники

Топ Справочники

Топ Примеры

Веб Сертификаты

SchoolsW3 оптимизирован для обучения, тестирования и тренировки. Примеры упрощают и улучшают чтение и базовое понимание. Учебники, справочники, примеры постоянно пересматриваются, для того, чтобы избежать ошибки, невозможно гарантировать правильность всего содержимого. Используя данный сайт, вы соглашаетесь прочитать и принять условия использования, cookie и Политика конфиденциальности. Авторское право 1999 - 2022 Все права защищены.
Работает на W3.CSS.

Я использую Xamarin форм 4.1.0.581479 и ту же версию визуального материала Xamarin форм.

Я сделал круглую кнопку, которую использую в качестве кнопки закрытия для нескольких модальных наложений. Это выглядит примерно так:

enter image description here

Проблема в том, что я не могу сделать x в середине (из шрифта значка материала) больше. В настоящее время он имеет размер шрифта 20

Как только я начинаю увеличивать размер шрифта, например, до 30, это начинает происходить:

enter image description here

Я пытался установить заполнение кнопки на ноль, я пытался играть с HorizontalOption, я пытался установить BorderWidth на 0, но, похоже, ничего не изменилось.

Как увеличить размер шрифта, не обрезая значок?

Как и было запрошено, вот мой XAML:

Стиль CloseButton выглядит следующим образом:

1 ответ

У меня есть приложение Window (win32 API) в visual c++. Я не использую MFC. Я должен создать круглую / круглую кнопку с изображением bitmap. Мое приложение имеет скинутый вид. Может ли кто-нибудь помочь мне в достижении этой задачи? Заранее спасибо.

Я хочу создать круглую кнопку в android. Это xml, который я использую: .

Я думаю, что вы должны использовать ImageButton вместо кнопки:

Похожие вопросы:

Как вы объявляете Button в формах Xamarin кнопкой таблетки независимо от ширины/высоты кнопки? Есть ли способ сделать это, не прибегая к собственным пользовательским рендерам? Я хотел бы сделать это.

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

Я пытаюсь создать круглую кнопку в Qt. В конструкторе была создана простая форма с одной кнопкой QPushButton . Я пытаюсь превратить это в круглую кнопку, используя setMask() . Как только setMask().

У меня есть приложение Window (win32 API) в visual c++. Я не использую MFC. Я должен создать круглую / круглую кнопку с изображением bitmap. Мое приложение имеет скинутый вид. Может ли кто-нибудь.

Действия по воспроизведению

  1. Создать проект формы xamarin с шаблоном по умолчанию Master-Detail
  2. Измените целевую версию UWP на 17763
  3. Запустите приложение

Ожидаемое поведение

image

Фактическое поведение

image

Основная информация

  • Версия с проблемой: целевая версия UWP 17763
  • Последняя известная удачная версия: целевая версия UWP 17134
  • IDE: Visual Studio 2017
  • Целевая платформа платформы:

    • UWP: версия UWP SDK 17763

    Ссылка на воспроизведение

    Самый полезный комментарий

    Пожалуйста, исправьте эту проблему. Мне нужно использовать более новую целевую версию UWP.

    Все 19 Комментарий

    Привет, Есть ли прогресс по этому вопросу?

    Я тоже к этому подбираюсь. Заполнение было отключено, как описано выше, прямо из шаблона, без каких-либо изменений кода с моей стороны.

    Есть ли какое-нибудь обходное решение?

    Целевой объект 18362 UWP также имеет эту проблему

    тоже самое.
    Целевая версия 18362 (1903)
    Мин. Версия 17134 (1803)

    Когда вы нажимаете кнопку с многоточием сбоку, содержимое всего заголовка перемещается в частично невидимую область:

    image

    Я тоже к этому подбираюсь. Заполнение было отключено, как описано выше, прямо из шаблона, без каких-либо изменений кода с моей стороны.

    Есть ли какое-нибудь обходное решение?

    Вы можете установить целевую версию UWP как 17134, чтобы избежать такого поведения.

    Пожалуйста, исправьте эту проблему. Мне нужно использовать более новую целевую версию UWP.

    Еще одна репродукция. Обратите внимание, что размер значка ToolbarItem также изменяется с целевым обновлением с 17134 до 17763.

    uwp_toolbar

    Указанный обходной путь (установка целевого SDK на более раннюю версию) больше не работает с последней версией xamarin.forms v4.3. Я перепробовал все SDK, чтобы обновить сборку 16299, у всех сейчас отключена кнопка меню, и это выглядит очень непрофессионально. Поистине шоу-стоп .

    @PureWeen @samhouts Отметим, что при использовании XF 4.2 установка целевой версии на 1803 или ниже решает эту проблему. Однако в XF 4.3 это больше не работает.

    Примечание. В настоящее время мы успешно запускаем XF 3.4.x без этой проблемы.

    Я думаю, что приоритет этого следует повысить, так как в настоящее время обходного пути нет. Это выглядит очень плохо, и я бы предпочел не выпускать приложение UWP с этим.

    @davidortinau Дэвид, это значительный регресс для пользователей с приложениями, работающими на UWP.
    Не могли бы вы посоветовать, есть ли сроки, когда мы можем ожидать исправления?

    Нам нравится XF 4.3, и мы работаем над внедрением многих новых доступных функций, но в настоящее время эта проблема не позволяет нам выпустить обновление для наших рабочих пользователей.

    Большое спасибо, и мы ценим усердную работу команды XF.
    --Мэтью

    По крайней мере пропадет отступ в обычном представлении. Тем не менее, когда вы нажимаете кнопку с многоточием, кажется, что происходит что-то забавное.

    Я все еще пытаюсь понять, что происходит с различными комбинациями пакетов SDK UWP, XF NuGets и т. Д.

    Такого рода проблема решается. К сожалению, независимо от того, какую цель UWP я использую, размеры элементов панели инструментов в XF 4.3 по-прежнему имеют неправильный размер. ~.

    Читайте также: