2012-08-10 54 views
2

我真的很困惑,支持多种屏幕尺寸/分辨率/密度等安卓:同样大小的类

这里的困境中支持多种屏幕尺寸:

我破坏我的应用程序的GUI分为四类 - 小,正常,大,Xlarge。

所以我测试的手机是一个正常的屏幕尺寸,3.2" HTC MyTouch3G现在,我还发现了一个3.7" 屏幕也被称为正常的 - 一些其他的尺寸之一。

我怎么可能去支持这么多不同的屏幕尺寸?

我的应用程序的主要布局被包裹在一个滚动型。为了测试事情,我制作了正常大小的布局,在3.7英寸屏幕上正确显示(回想起我的手机是3.2英寸)。当我在手机上安装应用程序时,整个视图会滚动,因为所有图形都太大。但它不会水平滚动,所有内容都是水平调整大小,但不是垂直调整大小。

那么,有没有办法为我设计的应用程序,以适应一个类别中的所有屏幕大小像正常或大?

谢谢。

回答

2

一般来说,你要设计你的用户界面,以适应在同一类别中的所有屏幕尺寸“我平时使其适合最小的尺寸,并尝试使用layout_weight属性时,它适合这样的看法扩大屏幕尺寸”,你可以使用android sdk xml编辑器来查看您的用户界面在每个屏幕大小下的样子。

如果您发现这种方法不方便对你有,你总是可以手工做的事情的任何原因(测量使用

Display display = getWindowManager().getDefaultDisplay(); 
Point size = new Point(); 
display.getSize(size); 
int width = size.x; 
int height = size.y; 

屏幕尺寸,做你的计算,然后将它们应用到你的观点的宽度,高度特性。

+0

出色答卷!你知道我怎么能检索DP屏幕尺寸,而不是任何屏幕尺寸? – capcom 2012-08-10 23:21:52

+0

可以转换像素使用[这个答案]骤降(http://stackoverflow.com/questions/6656540/android- convert-px-to-dp-video-aspect-ratio)。 – Eric 2012-08-10 23:33:55

+1

谢谢。另外,你可能想编辑你的代码到s如何显示display = getWindowManager()。getDefaultDisplay();'。您在“Display”上缺少大写* D *。 – capcom 2012-08-10 23:40:49