4

我有两个 7 英寸平板电脑,一个平板电脑 (800*480) 和第二个平板电脑 (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 引入了一种新方法来为更离散的屏幕尺寸指定资源。这项新技术基于您的布局所需的空间量(例如600dp 的宽度),而不是试图让您的布局适合一般化大小组(例如 large 或 xlarge)。

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 英寸平板电脑(600dp 宽和更大)
  3. res/layout-sw720dp/main_activity.xml # 适用于 10” 平板电脑(720dp 宽和更大)

xlarge 是超大屏幕的配置限定符。*当您将此字符串附加到资源目录名称(例如 layout-xlarge)时,它向系统表明这些资源将用于具有超大屏幕的设备上。

于 2013-03-28T06:02:03.390 回答
1

我有两个 7 英寸平板电脑,一个平板电脑 (800*480) 和第二个平板电脑 (1024*600)。我面临以下问题:-

我遇到了同样的问题。作为一种解决方法,我在与默认相同的布局文件夹中制作了 (800*480) 的 xml 文件。

还为 GalaxyNexus 和 7'' 平板电脑等设备使用 layout-sw320dp,我为 7'' 屏幕平板电脑和 10'' 平板电脑制作 layout-sw600dp

例如:您有名为“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 回答