如何在7“两个不同的平板电脑上设置布局?

时间:2013-03-28 05:32:46

标签: android android-layout android-resolution

我有两片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这个,但不要使用我。

尝试这么多链接,但同样的问题是平板电脑在相同的布局中运行。

3 个答案:

答案 0 :(得分:7)

尝试使用它。它对我有用

layout-sw600dp

答案 1 :(得分:3)

7“平板电脑-Android 3.2引入了一种新的方式来指定更多离散屏幕尺寸的资源。新技术基于您的布局所需的空间量(例如 600dp的宽度),而不是试图使你的布局适合广义大小组(如大或xlarge)。

res/layout-sw600dp/
res/layout-sw600dp-land
res/layout-sw600dp-port
  • 320dp:典型的手机屏幕(240x320 ldpi,320x480 mdpi,480x800 hdpi等)。
  • 480dp:像Streak(480x800 mdpi)这样的tweener平板电脑。
  • 600dp:7“片剂(600x1024 mdpi)。
  • 720dp:10英寸平板电脑(720x1280 mdpi,800x1280 mdpi等)。

用于区分尺寸的用户界面,例如7“和10”平板电脑

  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宽大)
  4. xlarge是超大屏幕的配置限定符。 * 当您将此字符串附加到资源目录名称(例如布局)时xlarge),它向系统指示这些资源将用于具有超大屏幕的设备。

答案 2 :(得分:1)

  

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

我遇到了同样的问题。作为一种解决方法,我将(800 * 480)的xml文件设置为与Default相同的布局文件夹。

还为像GalaxyNexus这样的设备使用了layout-sw320dp 对于7英寸平板电脑,我已经为7英寸屏幕平板电脑制作了布局-sw600dp 对于10英寸平板电脑,我已经为10英寸屏幕平板电脑制作了布局-sw700dp

例如:您有名为“activity_main.xml”的xml文件

  

1)在layout文件夹内 - >把activity_main.xml放在布局上   到nexus one(480 * 800 hdpi)

     

2)在layout-sw320dp文件夹内 - >把activity_main_tab.xml放到   根据Galaxy Nexus(720 * 1280 xhdpi)设备的布局   应该采用layout-600dp的布局,但将采用布局   layout-320dp

     

3)在layout-600dp文件夹内 - >将activity_main_tab.xml放入布局中   平板电脑7''屏幕

     

4)在layout-700dp文件夹内 - >将activity_main_tab.xml放入布局中   平板电脑10''屏幕

使布局格式化如上。我检查了设备的运行时宽度和高度。并相应地设置布局文件。

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); 
}

希望这会有帮助。