我必须使用hdpi,mdpi

时间:2014-01-18 14:19:54

标签: android android-screen-support

我项目中的内容是:

values-small;
values-normal;
valuse-large;
valuse-xlarge;

这些文件夹包含所有屏幕尺寸的图像和文本的尺寸; 但是我应该添加hdpi,mdpi ...虽然我已经在dp中添加了图像的大小,并且在sp中添加了文本的大小。?

示例:

 <dimen name="btnwidth">60dp</dimen>
    <dimen name="btnheight">60dp</dimen>
     <dimen name="fsinlistview">25sp</dimen>

因为我没有在所有设备上获得所需的结果...... 那么为什么dp和sp没有被修复,具体取决于屏幕dpi?

3 个答案:

答案 0 :(得分:2)

为布局文件夹中的默认屏幕4.7英寸(hdpi)和值文件夹中的尺寸创建单一布局。这是你的超集。

现在假设您想要7英寸设备的布局。 在Portrain方向创建7英寸的值-sw320dp文件夹

现在假设你想要10英寸设备的布局 创建值-dw720dp文件夹

注意: - 对于横向,只需在文件夹名称前添加“-land”。

现在假设你有新的设备,如Xperia SP(4.7'和XHDPI)和Nexus 5(5“和XXHDPI)。

对于这些,您可以创建values-xhdpi和values-xxhdpi文件夹..

我希望你明白如何创建文件夹..

现在,您的超集在values文件夹中定义。大多数尺寸仅在此处使用。现在在其他设备上运行您的应用。无论发生什么不匹配,只需在各自的值文件夹中添加特定维度

答案 1 :(得分:1)

点击此链接Supporting multiple screens

从以上链接:

320dp: a typical phone screen (240x320 ldpi, 320x480 mdpi, 480x800 hdpi, etc).  
480dp: a tweener tablet like the Streak (480x800 mdpi).  
600dp: a 7” tablet (600x1024 mdpi).  
720dp: a 10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).

查看此converter

答案 2 :(得分:1)

@RahulGupta的回答非常有缺陷。你应该更多地遵循@amalBit所写的内容。

正如我的评论中所提到的,基本的想法是拥有一个非常灵活的布局,其中包含一些基本的“跨屏幕”设置,您可以并且应该遵循这些设置

例如:设置列表在手机上可能有16-32 dp的边缘,在像Nexus 10这样的xlarge平板电脑上,它有更大的余量。我非常怀疑设置屏幕是用几十个尺寸文件构建的,以适应所有屏幕分辨率,尺寸和dpi。我想这基本上只是使用一个默认值,对于更大的平板电脑,它使用更大的值。所以可能是320dp和720dp之间的区别。

我的建议:从您的values文件夹中的一个布局,一个dimens.xml文件开始,然后使用普通手机进行开发。完成布局后,在不同的屏幕上查看它,看看是否需要修改。通常在低分辨率/低分辨率设备上,填充/边距和尺寸应该以正确的方式正确缩放。

你将面对7“+平板电脑面临的最大”问题“对于他们而言,我首先要创建一个单独的dimens.xml文件,并增加我需要的尺寸以使其更好看。

通常默认值文件夹应该包含80%的“样式”,其余的只是添加以使它们完美无缺。