0

かなり基本的な画面をレイアウトしようとしています。リストアイテムをクリックした後の詳細ビュー画面です。

最初は、積み重ねられたラベル値タイプの画面を並べて実現したいと考えています。たとえば、コロンの左側は静的テキストであり、コロンの右側はクリックされた行に基づく動的な値です。

名:john
姓:doe
最終ログイン日:昨日
追加情報:何とか

私は、探していたもののようなものを実現するために、それに応じて配置された一連のテキストビューを含む相対的なレイアウトから始めました。

この問題は、表示されている動的データが拡大し、それを囲むテキストビューを拡大するときに発生します。もちろん、静的ラベルは大きくならず、すべてがずれてしまいます...

この種のレイアウトに取り組む別の方法があるのだろうか...

私は、垂直線形レイアウト内に水平線形レイアウトの束を積み重ねることを避けていました。

テーブルレイアウトはどのように進むべきですか?「LinearLayoutから派生したものであり、最も効率的なレイアウトコントロールではないため、通常、これを行うのに最適なツールではありません」と読みました。

4

3 に答える 3

2

はいあります。xmlで事前定義されたレイアウトでリストビューを使用します。simplelistadapterを使用して、データセットに入力するデータセットを渡します。

編集

ここに素晴らしいチュートリアルがあります: http ://www.vogella.com/articles/AndroidListView/article.html

于 2012-08-30T16:42:46.180 に答える
2

作成したいような単純なフォームの場合は、TableLayoutを使用することをお勧めします。使い方は簡単です。あなたが言ったように、TableLayoutの代わりは、親の垂直LinearLayoutの水平LinearLayoutです。TableLayoutを使用すると、右側の動的コンテンツも自動的に配置されます。右側のすべてが列として扱われるため、サイズを変更すると、すべてが一致するようにサイズ変更されます。

于 2012-08-30T16:49:21.790 に答える
1

あなたの特定のシナリオでは、TableLayoutがうまく機能すると思います(効率/パフォーマンスの同様の問題も聞いたことがありますが)。このアクティビティのビューグループ全体が複雑でない限り、パフォーマンスがあまり目立たないと思います。

RelativeLayoutバージョンを機能させようとしている場合は、おそらくこれを試すことができます。android:layout_alignParentLeftを使用してすべての静的ラベルを左に揃え、androidを使用して対応する動的TextViewの上部にそれぞれ揃えます。 layout_alignTop。これにより、静的TextViewが左側に配置され、動的ビューに相対的に配置されたままになります。

これらのビューが整列されたので、android:layout_toRightOfを使用して、動的ビューを最長の静的TextViewに水平方向に整列させることができます。そこから、残りのすべての動的ビューは、android:layout_alignLeftをこのアンカー動的TextViewに配置することも、アンカーと同じ方法で最長の静的TextViewに配置することもできます。これにより、すべての動的TextViewの水平方向の配置が解決されます。

最後に、動的TextViewがこのRelativeLayout内の垂直位置を決定するため、各動的TextViewが次の位置に分類されるように設定できます。各ビューはandroid:layout_alignBelowを使用して、フィールドを連鎖させて垂直方向に整列させることができます。

これでうまくいくと思います。コードのサンプルが必要な場合は、この投稿を後で編集できます。

于 2012-08-30T16:57:00.947 に答える