2013-12-09 77 views
0

几周前我开始编写Android应用程序。首先,非常感谢这个论坛的所有成员。许多帖子帮助我解决了我的应用程序问题。但现在,我遇到了一个我无法处理的问题,我没有找到答案。Android刚加载默认布局

那么,是什么问题:

在我的应用我想显示一种表。在我的主要测试设备上,一切都很合适。但是当我在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文件具有相同的名称。 th文件夹被命名为'布局','布局小','布局大'和'布局x大'。

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

回答

0

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

+0

谢谢您的回答,但看到我对DShaw的回答评论请。 – Daniel

1

我不认为你想'布局','布局小','布局大'和'布局X大'。虽然这些确实存在,但它们具有通用性,并且行为并不明确。参见下表:

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等,这是我怎么一直在做它和它的作品。

+0

完美。非常感谢! – Daniel

+0

不幸的是,它不如我想象的那么完美... 如果我想象一个屏幕1,其分辨率为480x800,密度为160dpi,屏幕2的分辨率为480x800,密度为240dpi,screen1上的文字大小为更小,尽管屏幕更大...... 但我需要的是,文字大小与屏幕尺寸的增长。所以,我认为,我将通过分离成小的,正常的,大的和xlarge布局来实现这一点。 – Daniel