Android:如何使用不同的xml文件支持多个屏幕

时间:2012-05-03 06:41:10

标签: android

我正在构建一个应用程序,想要在多个屏幕上运行它完全相同的外观。所以我尝试了最糟糕的(根据我)和最好的方式(根据开发人员)创建三个单独的xml文件夹,以支持大,中,小屏幕。 我的文件夹名称是布局(根据开发人员的说法,默认情况下适用于中型屏幕WQVGA 400),布局大(WVGA800)和布局小(QVGA)。 但是,如果我在布局文件夹(默认值为1)中更改文件(在同一名称的所有三个文件夹中)中的某些内容,则更改适用于大型和中型但不适用于小型。无论我在布局大文件夹的xml文件中发生什么变化都不适用于大屏幕显示,但布局的变化 - 小适用于小屏幕。所以我想如何分别配置大屏幕xml和单独的中画面xml,它们都不会相互影响。

3 个答案:

答案 0 :(得分:1)

您可以在Android项目中使用以下文件夹结构。

 1.layout This Use For Default Layout Files  // layout for normal screen size ("default")
   2.layout-land For Use in Landscape Mode
   3 layout-large     // layout for large screen size
   4.layout-large-long
   5.layout-large-long-land
   6.layout-large-notlong
   7.layout-large-notlong-land
   8.layout-ldpi
   9.layout-normal-long
   10.layout-normal-long-land
   11.layout-normal-notlong
   12.layout-normal-notlong-land
   13.layout-small   // layout for small screen size
   14.layout-small-land
   15.layout-xlarge      // layout for extra large screen size
   16.layout-xlarge-land   // layout for extra large in landscape orientation

答案 1 :(得分:1)

根据项目,最简单的方法是为值文件夹中的每个屏幕大小创建一个“styles.xml”文件:

values  //default
values-small
values-large
varlues-xlarge

然后你只需要管理4个不同的文件样式(改变长度,边距,字母大小等)。 如果需要,您还可以添加其他配置@Herry说(大,土地......)。

答案 2 :(得分:0)

“但是如果我在布局文件夹(默认版本)中更改文件中的某些内容(在同一名称的所有三个文件夹中),则更改适用于大型和中型但不适用于小型。”

对此的回答是,“由于您为小型,中型和大型屏幕设置了不同的布局文件夹,因此对大屏幕的更改将不会反映为小屏幕。您必须在小屏幕布局文件中进行更改好。

但是,正如您所说,您所有不同尺寸设备的UI都是相同的,那么您永远不应该创建不同的布局文件夹。只有一个布局文件夹就足够了,Android将在运行时处理不同屏幕尺寸的渲染。 另请查看此链接http://developer.android.com/guide/practices/screens_support.html。 阅读本文后,您将能够自行决定应用程序所需的UI类型。