Domanda

Sto sviluppando un'applicazione usando Apache Click, rivolto ai browser mobili, quindi mi aspetto di essere utilizzato principalmente in display stretto (240 pixel verso l'alto). Attualmente, cerco di usare un org.apache.click.control.Form con un paio di org.apache.click.control.Fields, incluso TextFieldsabbia SelectS.

Tuttavia, quando si tenta di limitare la larghezza dell'intera pagina a, diciamo, a 240 pixel, il modulo trabocca ancora in orizzontale, che costringe l'utente a pan a destra e rende il design "uglish". Una possibile alternativa sarebbe quella di mettere il Field etichette in cima ai rispettivi campi di input, tuttavia non ho trovato il modo di farlo mentre il clic rende ciascuno Field come un html <tr class="field"> con due <td>, uno contenente il <label> e l'altro contenente il <input> (per la classe TextField) o <select> (per la classe Select).

Alcune idee che sto pensando di esplorare:

  • Ammetto che potrebbe esserci un po 'di "magia CSS" che non conosco e che consente di dire al browser di "rendere tutto <td>S uno sopra l'altro "o qualcosa del genere.
  • Un'altra idea che ho (che coinvolge un po 'più di lavoro) è quella di sottoclasse quelle classi, mettendo esplicitamente l'etichetta e i campi l'uno sull'altro mentre sono resi HTML. Alcuni browser mobili (ad es. Windows Mobile basati su cui ho testato) hanno un'opzione "Regola alla singola colonna", ma ciò richiede un intervento esplicito dell'utente. Non sembra esserci un'opzione simile in altri browser, come Opera Mobile.
  • Mettendo esplicitamente l'etichetta separata e Field con un'etichetta di stringa vuota. Questa sembra la soluzione "più stupida" ma anche relativamente facile.

Spero che ci possa essere un modo relativamente semplice per farlo che non ho menzionato o pensato. Pertanto, sto cercando suggerimenti su come configurare clic o utilizzare CSS, o qualcos'altro, per provocare HTML che rende i due elementi di campo (etichetta e il campo di input effettivo) dell'altro anziché il "predefinito "Fai clic sul lato lato e che occupa uno schermo prezioso su visualizzazioni" strette ".

Grazie in anticipo.

È stato utile?

Soluzione

Avrei dovuto trascorrere più tempo a sfogliare la documentazione e gli esempi ...

Questo esempio Fornisce la formattazione del modulo che stavo cercando. Fondamentalmente, consiste nella chiamata setLabelsPosition("top"); sul rispettivo Form oggetto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top