Войти
Urho3DФорумURHOSHARP

Переключение между полями ввода

Страницы: 1 2 3 Следующая »
#0
13:25, 19 дек. 2016

Здравствуйте
Я делаю сценку, где просто два поля: логин и пароль, и кнопка сабмит. Всё бы ничего, но есть 2 нюанса:
При нажатии на поле ввода (LineEdit) - появляется софтверная клавиатура, которая заслоняет собой поле ввода, ну это не беда, можно делать сдвиг UI:

...
UI.SubscribeToFocusChanged(HandleFocusChanged);
...
}

private void HandleFocusChanged(FocusChangedEventArgs obj)
{
  if (obj.ClickedElement == null)
  {
    game.UI.Root.SetPosition(0, 0);
    return;
  }

  if (obj.ClickedElement.TypeName != "LineEdit")
  {
    game.UI.Root.SetPosition(0, 0);
  }else
  {
    game.UI.Root.SetPosition(0, -300);
  }
}

И всё хорошо.

Теперь нюанс №2
Если я ввожу данные в первое поле ввода, Login, и нажимаю на второе поле ввода (Password) - фокус переключается на второе поле ввода, но клавиатура пропадает (?!)
Ну видимо подразумевается, что я буду нажимать на ентер на софтовой клавиатуре, она благополоучно пропадает, UI выравнивается, потом я нажимаю на пароль - клавиатура опять появляется, но это не всегда удобно.

ИИ... на этом мысль останавливается.
Как это пофиксить ?


#1
13:36, 19 дек. 2016

Вот смотрю я на код... Это c#? UrhoSharp?

#2
13:37, 19 дек. 2016

А, черт. Только сейчас увидел что вопрос в разделе UrhoSharp.

Я бы очень настоятельно рекомендовал сделать меню входа в игру на xamarin.forms.

#3
14:02, 19 дек. 2016

Вопрос не об этом, я буду использовать UrhoSharp UI

#4
14:07, 19 дек. 2016

Вопрос в этом в широком смысле. Вот эти софтовые клавиатуры и т.п. - это все в итоге гигантская головная боль.

Я по этому UrhoSharp так приветствую что его можно встраивать в обычные приложения и менюшки делать на xaml/xamarin.forms. Уходят проблемы с языками, иероглифами, способами ввода и т.п. Все нативное для платформы, все понятное и удобное пользователю.

#5
14:24, 19 дек. 2016

Я делаю игру, а не очередное Form приложение со стандартным интерфейсом.
В игре есть свой дизайн, цветовая гамма, стиль (размеры и цвет элементов управления, их расположнеие, рамочки и так далее).
Это всё можно задать в xml UrhoSharp, а если понадобится освежить дизайн (ну хотя врят-ли)  - то достаточно будет в Urho Editor немножко поправить xml

Вопрос в другом, как вернуть софтовую клавиатуру при переключении фокуса между LineEdit ?

#6
14:34, 19 дек. 2016

j-nox
Удачи тогда. Оставлю за собой право через несколько месяцев сказать "а я же говорил!".

Максимум смогу помочь когда до дома доберусь вечером. Но наверно кто то успеет быстрее ответить.

#7
14:35, 19 дек. 2016

У нас один специалист по урхошарпу - Nagg и он куда-то пропал)
Так что хз, на такие специфические вопросы мы наверное не ответим

#8
14:40, 19 дек. 2016

Ну у меня есть план Б - показывать клавиатуру самому принудительно, но я сперва хотел посоветоваться, перед тем как городить костыль

#9
14:41, 19 дек. 2016

j-nox
Если есть время - посмотри в исходниках urho3d. Если не найдешь - я вечером гляну.

#10
15:24, 19 дек. 2016
Если я ввожу данные в первое поле ввода, Login, и нажимаю на второе поле ввода (Password) - фокус переключается на второе поле ввода, но клавиатура пропадает (?!)
Ну видимо подразумевается, что я буду нажимать на ентер на софтовой клавиатуре, она благополоучно пропадает, UI выравнивается, потом я нажимаю на пароль - клавиатура опять появляется, но это не всегда удобно.
очень знакомая ситуация, в последней версии urhosharp все норм вроде, ты на какой сейчас версии?

Да, сейчас проверил на телефоне, все норм - клава никуда не исчезает при переходе на другое текстовое поле. (UrhoSharp 1.2.21)

#11
16:02, 19 дек. 2016

У меня тоже 1.2.21, страннно, пропадает клавиатура и в эмуляторе и в телефоне (Samsung I9300 Galaxy S III)

#12
16:11, 19 дек. 2016

в эмуляторе (genymotion) - нейтивную клаву вообще не показывает у меня. Тел - note 3.  А так, выше описанную проблему я наблюдал раньше, когда текстовые поля были в разных Uielement или window, когда же у них был один родитель было норм - посмотри этот вариант если у тебя по другому...

пробуй, желательно без - UI.SubscribeToFocusChanged(HandleFocusChanged)

#13
16:36, 19 дек. 2016
Изображение

Всё в одном элементе, вот для чистоты эксперимента отдельный хмл

Кстати, я добавил два поля ввода в семпл "FeatureSamples" там где SceneAndUILoad
Тот-же эффект, клавиатура пропадает при переходе от поля к полю

у меня андроид 4.4

#14
16:47, 19 дек. 2016

Увы, я исчерпал варианты  - передаю ход GLoom))

Страницы: 1 2 3 Следующая »
Urho3DФорумURHOSHARP

Тема в архиве.