Формы в Apache Click: как складывать метки с полями? - PullRequest
0 голосов
/ 04 мая 2011

Я занимаюсь разработкой приложения с использованием Apache Click, предназначенного для мобильных браузеров, поэтому я ожидаю, что его будут использовать в основном в узких дисплеях (240 пикселей вверх). В настоящее время я пытаюсь использовать org.apache.click.control.Form с парой org.apache.click.control.Field с, включая TextField с и Select с.

Однако при попытке ограничить ширину всей страницы, скажем, до 240 пикселей, форма по-прежнему переполняется по горизонтали, что вынуждает пользователя перемещаться вправо и делает дизайн «безобразным». Возможной альтернативой будет размещение надписей Field поверх соответствующих полей ввода, однако я не нашел способа сделать это, поскольку Click отображает каждый Field как HTML <tr class="field"> с двумя <td>, один содержит <label>, а другой - <input> (для класса TextField) или <select> (для класса Select).

Некоторые идеи, которые я собираюсь изучить:

  • Я допускаю, что может быть некоторая «магия CSS», о которой я не знаю, и которая позволяет браузеру «рендерить все <td> s друг на друга» или что-то в этом роде.
  • Другая идея, которая у меня есть (которая включает в себя некоторую дополнительную работу), состоит в том, чтобы создать подклассы этих классов, явно разместив метку и поля друг над другом, поскольку они отображаются в формате HTML. Некоторые мобильные браузеры (например, на базе Windows Mobile, которые я тестировал) имеют опцию «настроить на один столбец», но это требует явного вмешательства пользователя. В других браузерах, таких как Opera Mobile, похоже, нет подобной опции.
  • Явно ставим отдельную метку и Field с пустой строковой меткой. Это кажется «глупым» решением, но также и относительно простым.

Я надеюсь, что может быть относительно простой способ сделать это, о котором я не упомянул или не подумал. Поэтому я ищу предложения о том, как настроить Click, или использовать CSS, или что-то еще, чтобы получить HTML, который отображает два элемента Field (метка и фактическое поле ввода) друг над другом вместо «default» "Нажмите рядом, чтобы на узких экранах появился какой-нибудь драгоценный экран.

Заранее спасибо.

1 Ответ

1 голос
/ 06 мая 2011

Я должен был потратить больше времени на просмотр документации и примеров ...

Этот пример предоставляет форматирование формы, которое я искал. По сути, он заключается в вызове setLabelsPosition("top"); для соответствующего Form объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...