0

私はモバイルブラウザを対象としたApacheClickを使用してアプリケーションを開発しているので、主にナローディスプレイ(240ピクセル以上)で使用されることを期待しています。現在、私はsとsを含むorg.apache.click.control.Formいくつかのsでaを使用しようとしています。org.apache.click.control.FieldTextFieldSelect

ただし、ページ全体の幅をたとえば240ピクセルに制限しようとすると、フォームは水平方向にオーバーフローするため、ユーザーは右にパンする必要があり、デザインが「見苦しい」ものになります。考えられる代替案は、それぞれの入力フィールドの上にラベルを配置することですが、Clickがそれぞれを2つのHTMLとしてレンダリングし、1つはとを含み、もう1つは(for class )を含むため、これFieldを行う方法は見つかりませんでした。または(クラスの場合)。Field<tr class="field"><td><label><input>TextField<select>Select

私が探求することを検討しているいくつかのアイデア:

  • 私が知らない「CSSマジック」があり、ブラウザに「すべて<td>を重ねてレンダリングする」などの指示を与える可能性があることを認めます。
  • 私が持っているもう1つのアイデア(これにはさらに作業が必要です)は、これらのクラスをサブクラス化し、HTMLレンダリングされるときに、ラベルとフィールドを明示的に重ね合わせることです。一部のモバイルブラウザ(たとえば、私がテストしたWindows Mobileベース)には「単一列に調整」オプションがありますが、これには明示的なユーザーの介入が必要です。OperaMobileなどの他のブラウザには同様のオプションはないようです。
  • 別のラベルを明示的に配置Fieldし、空の文字列ラベルを付けます。これは「最も愚かな」解決策のようですが、比較的簡単でもあります。

私が言及も考えもしなかった、これを行うための比較的簡単な方法があるかもしれないことを望んでいます。したがって、クリックを構成する方法、CSSを使用する方法、またはその他の方法で、「デフォルト」の代わりに2つのフィールド要素(ラベルと実際の入力フィールド)を互いに重ねてレンダリングするHTMLを作成する方法についての提案を探しています。 「横に並べてクリックすると、「狭い」ディスプレイで貴重な画面が表示されます。

前もって感謝します。

4

1 に答える 1

1

ドキュメントと例を閲覧するのにもっと時間を費やすべきでした...

この例は、私が探していたフォームのフォーマットを提供します。setLabelsPosition("top");基本的には、それぞれのFormオブジェクトを呼び出すことで構成されます。

于 2011-05-06T10:31:29.140 に答える