Цифровая клавиатура не принимает десятичный разделитель на некоторых устройствах 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:
Изображение

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

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

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

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

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

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

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

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

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