Androidデバイスでは、チェックボックス、入力フィールドなどを含む非常に長いフォームを数多く作り直す必要があります。ロングフォームを効率的に作成する
私はこれをすべてハードコーディングしていましたが、そのような膨大な数のフィールドですが、効率的ではないようです。
アイデアを得るために、以下のスクリーンショットを添付しました。
Androidデバイスでは、チェックボックス、入力フィールドなどを含む非常に長いフォームを数多く作り直す必要があります。ロングフォームを効率的に作成する
私はこれをすべてハードコーディングしていましたが、そのような膨大な数のフィールドですが、効率的ではないようです。
アイデアを得るために、以下のスクリーンショットを添付しました。
私はあなたがリストビューを作成することができると思います。また、すべての行にTextViewと3つのチェックボックスがあります。また、行をパーソナライズすることもできます。たとえば、if(行== 3)を指定してtextviewを描画し、テキストを編集します。 これは私が考える最高のアプローチです。
アクティビティごとにいくつかのオプションがあり、画面の下部にある[次へ]ボタンをクリックしてフォームをスクロールすると、次のオプションに移動できます。
この方法では、スクロールするための巨大なリストがないため、ユーザーがオプションを見落とす可能性があります。
まず、ウェブアプリとモバイルアプリのデザインに違いがある必要があります。
ウェブビューを使用してこのページを開くことができます。
他のフィールドを分割し、タブのアーキテクチャまたは複数のアクティビティを持つ。
ここでは、フォーム全体をいくつかに分割し、いくつかのアクティビティに配置するのが最善のアプローチだと思います。フォームのすべての部分がスクロール可能であってはいけません。つまり、チェックボックスは画面に収まるはずです。すべてのアクティビティには[次へ]ボタンが必要です。また、すべてのアクティビティの中に何らかのプログレスバーを配置して、残りの量をユーザーに通知する必要があります。お役に立てれば。
Danyさんの考えに基づいて、レイアウトXMLにリストビューを作成し、新しいXMLファイルに行レイアウトを作成します。この行レイアウト(chkboxRow.xmlなど)には、テキストビューと3つのチェックボックスとして定義されたリストビュー行があります。
同様の方法で他の行のレイアウトを作成することもできます。
リストビューアアダーでは、必要な行のリスト(配列)を入力する必要があります。アダプターはこのリストを使用して、必要な行数を取得できます。リストの各項目がDictionary<String, String>
であるなら、あなたは、行の属性を与えることができます:アイテムの
一覧:次に
[1]:{ rowTitle:"First row", rowStyle:"chkbox", rowID:"123" }
[2]:{ rowTitle:"Second row", rowStyle:"picker", rowID:"124", items:((List)[1]:"first item",[2]:"Second item") }
をあなたがあなたにしている行のためのビューを探している時にすることができますリスト内の対応する項目を取得し、rowStyle
プロパティを確認します。これに基づいて、レイアウトインフレータでinflate
に必要な行レイアウトファイルを知っているので、適切にビューをカスタマイズすることができます。
これが役に立ちます。
複雑な1ページレイアウトを複数のステップごとに分割することができます。それぞれのステップは、個別のアクティビティ/フラグメントでnext/prevボタンを使用します。つまり、ウィザードを実装します。
あなたは@Roman Nurikのオープンソースライブラリを使用することができます。Android WizardPager
私はあなたが多くの不動産を持っていないモバイルプラットフォームに適したUIについて慎重に検討をお勧めします。表示されたスクリーンショットはデスクトップ上で動作する可能性がありますが、モバイルプラットフォームには適していません。
いずれにせよ、私は最近、Androidでフォームを簡単に作成することを目的としたオープンソースプロジェクトをリリースしました。
NexusDialog:https://github.com/dkharrat/NexusDialog
をそれはここでそれをチェックアウトなどのテキストフィールド、ラベル、選択リスト、日付ピッカーを、サポートしています