4

私は 2 つの 7 インチ タブレット 1 つ (800*480) と 2 つ目のタブレット (1024*600) を持っています。私は次の問題に直面しています:-

1.両方ともlayout-mdpiとlayout-largeで実行できるため、アプリを両方の解像度で実行するために別のフォルダーを作成するにはどうすればよいですか。

両方のタブレットで mdpi レイアウトのアプリケーション実行 xml:-

layout-mdpi
layout-hdpi

両方のタブレットで大きなレイアウト用のアプリケーション実行 xml:-

layout-large
layout-xlarge

http://developer.android.com/guide/practices/screens_support.htmlこれを実装できますが、完全には使用できません。

また

非常に多くのリンクを試してみても、同じレイアウトで実行されている両方のタブレットで同じ問題が発生します。

4

3 に答える 3

7

これを使ってみてください。

layout-sw600dp
于 2013-03-28T05:51:36.750 に答える
4

7 インチ タブレット - Android 3.2 では、より個別の画面サイズのリソースを指定する新しい方法が導入されています。新しい手法は、レイアウトを一般化されたサイズに合わせようとするのではなく、レイアウトに必要なスペースの量 (幅 600 dpなど) に基づいています。サイズ グループ (大や特大など)。

res/layout-sw600dp/
res/layout-sw600dp-land
res/layout-sw600dp-port
  • 320dp: 一般的な電話画面 (240x320 ldpi、320x480 mdpi、480x800 hdpi など)。
  • 480dp: Streak のようなトゥイナー タブレット (480x800 mdpi)。
  • 600dp: 7 インチ タブレット (600x1024 mdpi)。
  • 720dp: 10 インチのタブレット (720x1280 mdpi、800x1280 mdpi など)。

7 インチと 10 インチのタブレットなどのサイズを区別する UI

  1. res/layout/main_activity.xml # ハンドセット用 (利用可能な幅が 600dp 未満)
  2. res/layout-sw600dp/main_activity.xml # 7 インチ タブレット用 (幅 600 dp 以上)
  3. res/layout-sw720dp/main_activity.xml # 10 インチ タブレット用 (幅 720 dp 以上)

xlarge は、特大画面の構成修飾子です。*この文字列をリソース ディレクトリ名 (layout-xlarge など) に追加すると、これらのリソースが非常に大きな画面を持つデバイスで使用されることがシステムに示されます。

于 2013-03-28T06:02:03.390 に答える
1

私は 2 つの 7 インチ タブレット 1 つ (800*480) と 2 つ目のタブレット (1024*600) を持っています。私は次の問題に直面しています:-

私は同じ問題に直面しました。回避策として、デフォルトと同じレイアウト フォルダーに (800*480) の xml ファイルを作成しました。

また、GalaxyNexus などのデバイスと 7 インチ タブレットには layout-sw320dp を使用しました。

例:「activity_main.xml」という名前のxmlファイルがあります

1)layoutフォルダー内-> nexus one(480 * 800 hdpi)に従ってレイアウトされたactivity_main.xmlを配置します

2)layout-sw320dpフォルダー内-> Galaxy Nexus(720 * 1280 xhdpi)に従ってレイアウトを含むactivity_main_tab.xmlを配置しますレイアウトを取得する必要があるが、レイアウトを取得するlayout-600dpデバイス layout-320dp

3)layout-600dpフォルダー内 --> タブレットの 7 インチ画面に合わせたレイアウトで activity_main_tab.xml を配置

4)layout-700dpフォルダ内 --> タブレット 10 インチの画面に合わせたレイアウトで activity_main_tab.xml を配置

上記のようにフォーマットされたレイアウトを作成した後。デバイスの実行時の幅と高さを確認しました。それに応じてレイアウトファイルを設定します。

if (displayWidth >= 552 && displayHeight >= 976 || displayWidth >= 976
                && displayHeight >= 552) { 
   Log.i(TAG, "in tab xml");            
   setContentView(R.layout.activity_main_tab); 
}else{ 
Log.i(TAG, "in Simple xml");
    setContentView(R.layout.activity_main); 
}

これが役立つことを願っています。

于 2013-03-28T06:15:40.723 に答える