Цифровая клавиатура не принимает десятичный разделитель на некоторых устройствах Android, использующих MAUI.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Цифровая клавиатура не принимает десятичный разделитель на некоторых устройствах Android, использующих MAUI.

Сообщение Anonymous »

Используя обычный MAUI с цифровой клавиатурой, я не могу вводить десятичную точку на чужом устройстве, но могу вводить десятичную точку на своем собственном устройстве. Почему это и как это решить?
Я использую простую запись по умолчанию с цифровой виртуальной клавиатурой: Со свойством значения, привязанным к его текстовому атрибуту, следующим образом:

Код: Выделить всё

private string price = "";
public string Price
{
get => price;
set => SetProperty(ref price, value);
}
Поле «цена» изначально имело тип данных double, и я думал, что проблема в этом, но изменение его на более гибкую строку ничего не решает.
Примечание. Я использую MVVM, а не код программной части.
На всякий случай, если это имеет какое-то значение, вот метод SetProperty Я использовал:

Код: Выделить всё

protected bool SetProperty(ref T storage, T value, [CallerMemberName] string propertyName = null)
{
if (Object.Equals(storage, value))
return false;

storage = value;

OnPropertyChanged(propertyName);

return true;
}

protected void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
Мое устройство — Galaxy S23 Ultra под управлением Android 14, One UI 6.1, и я могу без проблем вводить десятичные точки. Другое устройство, которое я попробовал, — это Galaxy S20 Ultra под управлением Android 13 и One UI 5.1, который не может вводить десятичные точки для этой записи. Кнопка десятичного разделителя появляется на цифровой цифровой клавиатуре, но не реагирует на нажатия.
Между тем я обнаружил, что разные устройства могут, а другие не могут устанавливать десятичные точки.
Расскажем об этой цифровой цифровой клавиатуре для Android:
[img]https://i.sstatic.net /V8F2XPth.jpg[/img]

Кнопка десятичного разделителя работает у меня, но не на другом устройстве.
Тысячи Кнопка разделителя .- на обоих устройствах реагирует звуком щелчка клавиатуры или вибрацией, но не вводит никаких символов. Если он должен работать по умолчанию, возможно, это связано с той же проблемой.
Мне просто хотелось бы иметь возможность вводить десятичные точки (для нас это символ запятой) на всех устройствах, как и следовало ожидать от цифровой виртуальной клавиатуры.
Надеюсь, кто-нибудь сможет мне с этим помочь.
Изменить:

Смена клавиатуры моих коллег на клавиатуру Microsoft SwiftKey (вместо клавиатуры Samsung) работает следующим образом: она может вводить запятую, чего не может клавиатура Samsung на их устройстве. Это заставляет меня поверить, что где-то должна быть настройка для клавиатуры Samsung, а в коде ее нет. Хотя я могу быть совершенно не прав. Все еще ищу решение.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ices-using
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»