如何声明7英寸平板电脑Android的布局?

21

我正在开发适用于10英寸和7英寸平板电脑的应用程序。对于10英寸平板电脑,我已声明布局为(layout-xlarge-land&layout-xlarge-port)。而对于7英寸平板电脑,我已声明布局为(layout-sw600dp-land&layout-sw600dp-port)。

然而,对于7英寸平板电脑,它在我的设备(iRobot)上不起作用。


什么没有起作用?发生了什么事? - Paresh Mayani
对于7英寸平板电脑,布局设计对我来说不起作用(layout-sw600dp-land&port),它取而代之地采用了普通的布局。 - NikhilReddy
5个回答

57

在极少数情况下,如果您想进一步自定义用户界面,例如针对7寸和10寸平板电脑的不同界面,您也可以定义最小宽度:

res/layout/main_activity.xml           # For phones
res/layout-sw600dp/main_activity.xml   # For 7” tablets
res/layout-sw720dp/main_activity.xml   # For 10” tablets

查看以下关于7英寸和10英寸平板电脑的内容:

管理屏幕大小的新工具


2
你是正确的,Uttam,但这只适用于3.2及以上版本。在3.2之前,sw600dp无法识别。 - StErMi
@StErMi 这是真的。对于像Kindle Fire和Nook Color这样的平板电脑,这段代码几乎没有用处。 - IgorGanapolsky
从链接:res/layout-xlarge/main_activity.xml # 适用于3.2之前的平板电脑 - c2knaps
1
8英寸平板电脑的布局? - Khawar

8

您也可以像这样指定您的layout文件夹

  1. layout-1280x800
  2. layout-port-1280x800

根据这里讨论的新方法,管理屏幕尺寸的新工具,我们可以这样指定

  1. layout 适用于手机
  2. layout-sw600dp # 适用于7英寸平板电脑
  3. layout-sw720dp # 适用于10英寸平板电脑

10英寸平板电脑,就像这款带有7英寸平板电脑尺寸的设备。 - Labeeb Panampullan
@Labeeb,我就是不明白这怎么能在Kindle Fire和Nook Color上运行。 - IgorGanapolsky
它从不依赖于提供者。在运行时,Android会检测当前设备的配置,并为您的应用程序加载适当的资源,请参阅提供替代资源 - Labeeb Panampullan
@LabeebPanampullan,我在'drawable-television'文件夹中有一张图片,但是Android从'drawable-sw600dp'文件夹中选择了另一张同名的图片。我想从'drawable-television'文件夹中选择它,我该怎么做? - Dr.jacky

6

但如果您正在为亚马逊设备构建应用程序

  • Kindle Fire 7" 使用 layout-large-mdpi
  • Kindle Fire 7" HD 使用 layout-large-hdpi

还有其他使用 layout-sw600dp 的 Android 7" 设备。


如果我正在为7英寸平板应用程序开发,并且我想在所有平板电脑上使用应用程序,包括亚马逊和其他平板电脑,那么我应该提到layout-sw600dp还是layout-large-mdpi? - CoronaPintu
2
您需要包含两个布局文件,分别是amazon设备使用的layout-large-mdpi和layout-large-hdpi。如果没有这些文件,则会尝试使用默认布局。其他Android设备将寻找layout-sw600dp和layout-sw720dp,否则也会尝试使用默认布局。简而言之,所有设备都会尝试查找其所需的布局文件,如果不存在,则会尝试使用默认布局(如果可以在不崩溃的情况下呈现)。 - zoya ali

5

0

这是因为您使用的是一款“便宜”的(价格低廉的)7英寸平板电脑,分辨率为480x800,因此它将使用sw360高达430dp。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接