layout-sw600dp
7 "タブレット(1024X600)mdpilayout-xlarge
用と12"タブレット(1280X800)mdpi用の2つのレイアウトフォルダーがあります。問題は、7インチエミュレータでプロジェクトを実行すると、layout-xlarge
代わりにフォルダからレイアウトが表示されることですlayout-sw600dp
。別のサイトで指定されているフォルダ名を変更して他の解決策も試しましたが、問題に適した解決策が見つかりませんでした。この問題の実用的な解決策を教えてください。よろしくお願いします。
2 に答える
ここで覚えておくべきことは、swXXXdp
リソースIDの使用は、Android 3.2以降(追加されたとき)を実行しているデバイスでのみ機能するということです。古いデバイスはこれらの識別子を認識しないため、これらの識別子を使用しません。そのため、Android <3.2を実行しているタブレットをサポートする場合は、古い識別子(、、、)を使用する必要がありますsmall
。現在のところ、Android 3.1(API 12)を実行しているタブレットはわずか0.3%であるため、完全にサポートされていない場合は安全です-http://developer.android.com/about/dashboards/index.html。normal
large
xlarge
これらの新しいリソース識別子の使用方法を説明する優れたブログがあります。 http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html
特定の問題については、タブレットレイアウトでAndroid 3.2以降のみをサポートしていると仮定して、layout-xlarge
フォルダをlayout-sw720dp
10インチ以上のタブレットをサポートするように変更すると、 layout-sw600dp
7インチ以上のタブレットレイアウトがサポートされます。
レイアウトフォルダのオプションは膨大です。layout-land/
またはのようなものを指定できるだけでなく、またはlayout-large
のようなそれらの混合物を指定することもできます。ここAndroidDevelopersですべての修飾子を確認できます。問題が発生した場合は、タブレットエミュレータのサイズが正しい画面解像度であるかどうかを確認してください。AVDを作成するときに、特定の画面解像度を指定できます。また、を指定すると、現在実行中のアクティビティの実際に使用可能な幅の幅がチェックされます。たとえば、4.2を実行しているタブレットでは、画面下部の約50dpがシステムバーに使用され、フルスクリーンでない場合は上部アクションバーに使用されるものもあります。これらにより、実際のdpは600未満に減少します。layout-large-land/
layout-xhdpi-land/
layout-sw600dp/