我已经阅读了文档和一些问题,但我找不到任何答案。这是我的第一个成熟的应用程序,我希望它至少在不同的屏幕尺寸上正确呈现,所以我使用dp作为单位,sp使用文本视图。我在不同的设备和不同的avd上尝试过它。我观察到,在大多数设备上,屏幕尺寸与密度成正比。 (小屏幕有ldpi,正常屏幕有mdpi,大屏幕有hdpi,xlarge屏幕有xhdpi)有了这个,我的默认布局呈现在遵循这个趋势的设备上。然而,有些设备不遵循这一趋势(例如三星Galaxy Tab,如果我没有记错的话,大mdpi),所以当我尝试我的布局时,启动画面(是的,我知道启动画面是烦人且不推荐)是像素化的,文字很小。
我想要发生的是,启动画面将取决于屏幕尺寸,文字大小取决于屏幕尺寸和尺寸。密度。我该如何实现这一目标?感谢。
答案 0 :(得分:0)
查看此页面:Android Devices
它显示了许多设备及其相应的统计信息。然后,您需要决定如何最好地定位未正确显示内容的设备。
我认为最好的方法是使用不同的值文件夹,您可以根据API级别制作不同的文件夹(如使用API 11或更低版本的所有设备的值-v11)或屏幕大小(如值 - 小值 - 超大)。然后创建不同的styles.xml,dimens.xml,甚至colors.xml。
在布局中,您为每个窗口小部件提供使用不同尺寸的样式,或者您可以将尺寸值放在样式中,或者您可以在布局文件中设置dimens.xml文件中的值。
你只应该在drawable文件夹上使用dpi限定符(比如drawable-hdpi),因为位图不能用dpi以及字体和其他drawable扩展。
对于不同的布局文件夹,我认为您应该将它们限制为纵向与横向,其中窗口小部件的位置会有所不同。
Galaxy Tab是一款屏幕尺寸为1024 X 600的平板电脑。这是您想要具有不同值文件夹(values-xlarge)的位置。您可能还希望使用适用于平板电脑的尺寸为其定义特殊样式。您将styles.xml,dimens.xml文件放在values-xlarge文件夹中。
所以,平板电脑会真正拉伸你用于背景的任何位图。在这种情况下,你可以有一个不同的drawable。