で使用されるレイアウトのパスを表示する必要がありますsetContentView(R.layout.main);
。したがって、携帯電話が の場合、normal-mdpi
「パスは: /res/layout-normal-mdpi」と表示する必要があります。携帯電話が の場合、normal-hdpi
「パスは: /res/layout-normal-hdpi」というテキストが必要です。
基本的に、ロードされたレイアウト ファイルとそのパスを知る必要があります。
で使用されるレイアウトのパスを表示する必要がありますsetContentView(R.layout.main);
。したがって、携帯電話が の場合、normal-mdpi
「パスは: /res/layout-normal-mdpi」と表示する必要があります。携帯電話が の場合、normal-hdpi
「パスは: /res/layout-normal-hdpi」というテキストが必要です。
基本的に、ロードされたレイアウト ファイルとそのパスを知る必要があります。
xml に対応するフォルダー名を含む非表示のテキスト ビューを追加できます
。テキスト ビューで文字列を取得する
TextView path = (TextView)findViewbyid(R.id.hiddentextview);
String s = path.gettext().tostring();
テキスト ビューのすべての ID が同じであることを確認してください。
if your xml is in `normal-mdpi` in hidden textview hard code `normal-mdpi` if your xml is in `large-mdpi` in hidden textview hard code `large-mdpi`
Activity.getResources().getConfiguration()
現在の構成を取得するものを呼び出すことができます-ドキュメントを参照してください。必要な画面密度と密度フィールドについて、そこから必要な情報のほとんどを取得できます(つまり、方向とscreenLayoutが必要です)。私が知っている実際のレイアウト パスを取得する方法はありません。Activity.getResources().getDisplayMetrics()
UPD うーん、これを見てください: LayoutInflater.inflate() - これは、内部でどのように機能しているかです。さらに深く掘り下げると、実際のインフレーションを行うネイティブ メソッドが呼び出されるため、運が悪いかもしれません。 xml パーサーを使用すると、それを行う方法が見つかります。私の頭の上から、すべてのレイアウトにコメントを追加して、ファイルの名前を入れることができます。次に、Activity.getResources().getLayout(your_layout_id) を使用して xml パーサーを取得し、パーサーを使用してコメントを取得します。これにより、アクセスしたばかりのファイルを正確に知ることができます。