Android只加载默认布局

时间:2013-12-09 18:46:49

标签: android layout default

几周前我开始编写Android-Apps编程。首先,非常感谢本论坛的所有成员。许多帖子帮助我解决了我的应用程序的问题。但是现在,我遇到了一个我无法解决的问题,我找不到答案。

那么,问题是什么:

在我的应用程序中,我想显示一种表格。在我的主要测试设备上,一切都很合适。但是当我在AVD上尝试使用较小屏幕的应用程序时,我意识到,文本大小(以dp为单位)是大的,系统会创建第二行来显示所有字母。因此,我决定为四种不同类型的屏幕尺寸创建一个自己的布局,其中包含四种不同的文字大小。

根据http://developer.android.com/guide/practices/screens_support.htmlhttp://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch以及互联网上的许多其他帖子,系统会自动选择正确的布局。

但我断言,它没有。系统始终加载默认布局。我不明白为什么。当我删除默认顺序时,它总是加载小布局,即使在我的Galaxy Note 2上也是如此。在屏幕最小的AVD上,应用程序在启动时关闭并出错。但是,正常的布局在最小的屏幕上运行......

我甚至试过这个来支持布局,但没有成功: <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true"/>

每个xml文件都具有相同的名称。这些文件夹被命名为'layout','layout-small','layout-large'和'layout-xlarge'。

任何人都可以帮助我吗?我想,我只是错过了一个小技巧......

3 个答案:

答案 0 :(得分:1)

我认为你不想要'布局','布局小','布局大'和'布局-xlarge'。虽然这些确实存在,但它们是通用的,行为并没有明确定义。见表:

http://developer.android.com/guide/practices/screens_support.html

您使用的是尺寸,而不是密度。试试这些:`

ldpi    Resources for low-density (ldpi) screens (~120dpi).
mdpi    Resources for medium-density (mdpi) screens (~160dpi). (This is the baseline density.)
hdpi    Resources for high-density (hdpi) screens (~240dpi).
xhdpi   Resources for extra high-density (xhdpi) screens (~320dpi).

生成的文件夹为layoutlayout-ldpilayout-hdpi等。这就是我一直以来的方式,并且有效。

答案 1 :(得分:0)

可能更多关于密度而不是尺寸。为什么不尝试而不是按大小分隔,使用ldpi,mdpi,hdpi和xhdpi?

答案 2 :(得分:0)

好的,我认为这是最好的解决方案......

http://www.vanteon.com/downloads/Scaling_Android_Apps_White_Paper.pdf