Codename One — Настройка текстового поля

#ios #codenameone

#iOS #codenameone

Вопрос:

Я пытаюсь настроить стандартный внешний вид текстового поля, чтобы добавить отступы, изменить границы и изменить отступы как для текста, так и для текстовой подсказки.

В Codename One Designer я создал свой стиль CustomTextField, начиная с существующего текстового поля: я правильно добавил отступы и изменил границы, но заданный мной отступ не влияет на текстовую подсказку. Как вы можете видеть на следующем рисунке, курсор правильно начал с заполнения, но подсказка его не учитывает.

Более того, когда я начинаю вставлять текст, он не учитывает заполнение.

В стиле CustomTextField я устанавливаю отступы для невыбранных, выбранных и нажатых состояний.

Как я могу решить эти проблемы?

Ответ №1:

Вам также нужно создать стиль TextHint , чтобы это могло применяться там. Это отдельный стиль, поскольку он имеет другой шрифт, В результате чего отступы и т. Д. Также Отличаются.

Комментарии:

1. И если я хочу использовать как «стандартный» TextHint, так и пользовательский TextHint, как я могу назначить пользовательский для пользовательского текстового поля? Существует ли метод setHintStyle для класса TextField?

2. Использовать text.getHintLabel().setUIID("CustomHint");

3. Хорошо, я решил проблему с подсказкой. Однако я не могу решить другую проблему: когда я начинаю вставлять текст внутри текстового поля, установленное мной заполнение исчезло (вы можете видеть второе изображение в моем вопросе).

4. Это только на симуляторе или на устройстве тоже? Вы можете использовать константу nativeHintBool=false темы, чтобы скрыть встроенную подсказку, которая может не учитывать настройки заполнения.

5. Проблема как в симуляторе, так и в устройстве. Где я должен установить константу nativeHintBool? Но вы уверены, что это может быть решением? Я замечаю эту проблему при вводе текста.