2

さまざまなデバイス サイズのさまざまなレイアウトのクラシック セットアップ:

要件:

  • ハンドセット/7 インチ タブレット - シングル ペイン
  • 10 インチ タブレット - デュアル ペイン

レイアウトは次のとおりです。

  • layout/main.xml- 単一ペインのレイアウト
  • layout/main-dual.xml- デュアル ペイン レイアウト

そして、10インチで次のようにするとvalues-large/refs.xml完全に機能します:

<item name="main" type="layout">@layout/main-dual</item>

ただし、これを 7 インチで使用しても、次のvalues-sw600dp/refs.xmlことはできません。

<item name="main" type="layout">@layout/main</item>

これは、メイン レイアウト自体を参照しているためだと思います。のコピーmain.xmlを別の名前で参照すると、想定どおりに機能します。

refs.xmlまったくない場合、values-sw600dpデュアル ペイン レイアウトが生成されます。

の例外onCreate():

android.content.res.Resources$NotFoundException: Resource ID #0x7f0e0000 type #0x1 is not valid
03-14 18:36:45.591: E/AndroidRuntime(2078):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:2144)
03-14 18:36:45.591: E/AndroidRuntime(2078):     at android.content.res.Resources.getLayout(Resources.java:853)

だから私の質問は、からデフォルトのレイアウトを参照する方法values-xxx/refs.xmlですか?

4

2 に答える 2

0

私は同じ問題に遭遇し、そこに ref.xml ファイルを配置しました。

大きな& sw600dp関連ファイルについては、.../res/values-largeand.../res/values-sw600dpフォルダーに正しく配置しました。.../res/layoutただし、フォルダーの代わりにデフォルトのフォルダーを配置しました.../res/values。正しいディレクトリに移動した後、期待どおりに機能しました。

Androidスタジオでは、左上のコンボボックスを選択Androidして選択すると、Android関連のリソース/ファイルが表示されます。私が間違っていたとき、最初のものrefs.xmlはレイアウトの下に表示され、他の2つはレイアウトの下に表示されましたvalues/refs.xml. 投稿する写真はありましたが、私の評判ポイントはまだ十分に高くありません。

于 2014-09-25T18:02:33.780 に答える
0

これらを試してみてください。

res フォルダーに直接レイアウトを作成できます。

res/layout/main_activity.xml           # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml   # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml   # For 10” tablets (720dp wide and bigger)
于 2013-03-15T10:01:59.580 に答える