さまざまな解像度をサポートするには、「複数の画面のサポート」で説明されているように、レイアウトファイルのバリエーションを作成する必要があります。UIのさまざまな配置を表示する予定はなく、適切にストレッチしたい場合、バリエーションは主にさまざまな重みになります。少なくとも、これまでの私のアプリの場合はそうです。
では、この構造でアプリケーションを変更するにはどうすればよいでしょうか。レイアウトが何度も繰り返されるため、アプリケーションで1つのレイアウトを変更すると、複数のファイルが変更されます。
私は2つのオプションを考えました:
- コード内の値を動的に変更する
- 欠点は、レイアウト関連の作業がコードに波及することです。私は本当にこれが好きではありません。
- 一般的なレイアウト要素を抽出するための子レイアウトの作成
- 欠点は、レイアウトの階層がより深く、雑然としているため、何が起こっているのかを理解するのが難しくなることです。それでも、これはHierarchy Viewerのおかげでオプション#1よりも優れています。このアプローチが常に達成可能かどうかはわかりません。
あなたがこれを乗り越えるためにあなたのトリックを共有することができれば、それは大いにありがたいです。