2013-11-03 57 views
0

我已阅读文档和一些问题,但找不到任何答案。这是我第一个完整的应用程序,我希望它至少可以在不同的屏幕尺寸上正确呈现,因此我使用dp代表单位,sp代表textview。我已经在不同的设备和不同的avd上尝试过了。我观察到,在大多数设备上,屏幕尺寸与密度成正比。 (小屏幕有ldpi,普通屏幕有mdpi,大屏幕有hdpi,xlarge屏幕有xhdpi)有了这个,我的默认布局呈现在遵循这种趋势的设备上。但是,有些设备并不遵循这个趋势(例如,如果我没有弄错的话,三星Galaxy Tab有很大的mdpi),所以当我尝试我的布局时,闪屏(是的,我知道闪屏是烦人和不推荐)是像素化的,文字很小。android:提供资源

我想要发生的是启动屏幕将取决于屏幕大小和文本大小将取决于屏幕大小&密度。我如何实现这一目标?谢谢。

+0

看看这个[支持多屏幕](http://developer.android.com/guide/practices/screens_support.html)。希望你能得到你的答案。 – androidcodehunter

回答

0

看看这个页面:Android Devices

它显示了许多设备及其相应的统计数据是什么。然后,您需要决定如何最好地针对未正确显示内容的设备。

我认为最好的方法是使用不同的值文件夹,您可以根据API级别制作不同的文件夹(如使用API​​ 11或更低版本的所有设备的值-v11)或屏幕大小(如值 - 小值通过值-xlarge)。然后,您创建不同的styles.xml,dimens.xml,甚至colors.xml。

在布局中,您为每个小部件提供使用不同维度的样式,或者可以将维度值放入样式中,或者可以在布局文件中的dimens.xml文件中设置值。

您只能在可绘制文件夹(如drawable-hdpi)上使用dpi限定符,因为位图不能以dpi和字体以及其他drawable进行缩放。

至于不同的布局文件夹,我认为你应该限制他们的肖像与风景,小工具的位置变化。

Galaxy Tab是一款1024 x 600屏幕尺寸的平板电脑。这是你想要有不同的值文件夹(values-xlarge)的地方。您可能还想使用适用于平板电脑的尺寸为其定义特殊样式。您将styles.xml,dimens.xml文件放在values-xlarge文件夹中。

因此,是啊,平板电脑将真正拉伸您将用于背景的任何位图。在这种情况下,你可以有一个不同的drawable。

+0

至于平板电脑,现在我只支持纵向定位。所以我期望平板电脑的行为类似于手机,但是具有更大的字体和精细的可绘图。感谢您的建议,但。也许当我有更多时间时,我会尝试您的平板电脑的建议。 – TheMackyMariano

+0

我也只是在学习。我正在重读通过阅读Big Nerd Ranch Android书籍学到的知识,然后在他们的论坛上与他们进行讨论。当我意识到dp和sp以dpi进行缩放时,我不得不重做我的应用程序。你真的需要解决肖像和风景寿。非常重要的一个好的应用程序。 –

+0

那本书有pdf吗?我参考的是Head First Android Dev't,但它只是教会了我的基本知识。有些人,我必须自己学习。 – TheMackyMariano