0

Android アプリケーションをさまざまな画面解像度と回転 (横向き/縦向きの変更) にスムーズに適応させたいと考えています。これまでのところ、Fragments といくつかのレイアウト ファイルを使用することで、推奨どおりに作業が完了しました。

現在、 TableLayoutを使用して、データベース クエリの結果を表形式で表示しています。

このレイアウトをさまざまな画面/レイアウト幅に適応させるには、使用可能なスペースに残っているものを収めるのに十分なスペースができるまで、列を完全に非表示にします (重要度の低い列を最初に非表示にします)。理想的には、セルの内容が折り返されず、列の幅が内容全体を表示するために必要な最小値に固定されます。

最後の部分に注意してください。列の幅はその内容の関数であり、設計時にはわからないため、レイアウトは実行時に使用可能なスペースに合わせて調整する必要があり、列の幅を縮小することはできません。

4

1 に答える 1

1

これを行う最も簡単な方法は、画面解像度ごとに異なる TableLayouts を作成することだと思います。コードでは、特定のフィールドがレイアウトで使用できるかどうかをテストし、使用できる場合は入力します。そうでない場合は、その特定のフィールドの列がない画面解像度のデバイスを使用しています。Android では、画面サイズと解像度ごとに異なるレイアウトを使用することをお勧めします。

追加: できることは、独自の MyTableLayout を作成し、その場で列数を決定することです。ビューを作成し、「onLayout」と「onMeasure」を実装するのはそれほど難しくありません。そうすれば、常に最高のフィット感を得ることができます。ビューは行内のすべての項目を受け入れ、適合する項目のみを表示します。

于 2012-09-19T19:34:13.337 に答える