2

さまざまなデバイスに対応する多数のレイアウト フォルダーがあるアプリを持っていますが、特定の状況では、アプリの性質が異なるため、一部のデバイスではクラッシュするため、デバッグが非常に難しいと感じています。 ID のタイプミスまたはレイアウト タイプの不一致ですが、どの特定の XML ファイルでエラーが発生したかを追跡するのは非常に困難であり、簡単にするために考えられる唯一の方法は、特定のデバイスがどのレイアウト フォルダーを探しているかを見つけることです。そのレイアウトのために。

実行時にその情報を取得する方法はありますか、それともデバイスの仕様に基づいてどのフォルダーであるかを計算するのが呪われていますか?

4

1 に答える 1

1

ある時点で同様の問題が発生し、レイアウト サイズの名前 (「sw720」など) を TextView のテキストとして使用して、多数のレイアウト サイズで XML レイアウトを作成しました。それらをすべてユーティリティ ライブラリに入れ、それを膨らませるメソッドを用意しました。アプリから、Android がどのレイアウトをロードすることを決定したかを判断するのは簡単です。さまざまなデバイスでテストしたり、向きを変更したりするときに非常に役立ちました。

normal/large/xlarge/sw600/sw720/w600/w720 などを行いました。

レイアウト ファイルは単なる TextView であり、すべてのレイアウト ファイルは android:text= 値を除いて同一です。Android ライブラリを作成してレイアウト ファイルを作成するのに約 1 時間しかかかりませんでした。これは、レイアウト ファイルを 1 回書き込んで、それを新しいレイアウト フォルダーにコピーし続けるだけだからです。私が言及したメソッドは、レイアウトを膨らませて TextView のテキストを返す単なる public static String です。

これを参照に使用しました:「複数の画面のサポート」http://developer.android.com/guide/practices/screens_support.html

于 2013-04-12T02:47:27.527 に答える