是否可以使用/ res / values文件夹定位特定的Android手机

时间:2014-07-30 08:07:05

标签: android android-resources

我正在开发一款仅面向Android手机的应用,而不是平板电脑。该应用程序应仅在纵向模式下工作。我在values文件夹的dimens.xml文件中有所有维度(对于视图和字体)。

我想调整一些常用手机的外观,例如

  • Galaxy S2:240dpi,480x800
  • Nexus 4:320 dpi,768x1184
  • Nexus 5:480 dpi,1080x1800

我想专门为这些目标指定一些字体大小和视图尺寸。我尝试过很多不同的值文件夹名称,例如:

值-sw240dp 价值观sw480dp values-sw320dp,依此类推,

但应用程序始终使用三个设备(通常是480dp文件夹)的相同文件夹。

可以在针对这些设备的资源文件中指定维度吗?

提前谢谢!

PS:请原谅我糟糕的英语。

3 个答案:

答案 0 :(得分:2)

是的,这是可能的。 /res/文件夹中的每个文件夹与这些过滤器(xhdpi,sw600dp,en,land等)的工作方式完全相同。

您的案例的问题是您没有指定正确的文件夹。正确的文件夹取决于您用来指定不同尺寸的参数。

  • sw___dp用于“最小宽度”,这意味着,屏幕的最小宽度(在800x480手机中为480侧)是DP的数量。

  • 指定您可能想要使用的DPI hdpixhdpixxhdpi。哪个适合你提到的那3个设备。

  • 如果您确实想使用sw___dp,可能需要在设备上安装THIS APP,并在每个屏幕上显示DP的大小调整(如果你没有设备,你必须做一些数学计算。

答案 1 :(得分:1)

here是可用于资源文件夹的所有限定符的综合文档。

你可以做的最好是使用dpi类,实际上,我认为它更正确,因为你正在为该类中的每个设备优化资源而不是只有少数几个离开其他人的结果不明。

答案 2 :(得分:0)

不适用于特定设备,但对于设备大小,可以使用这些名称相同的值文件夹(width-height):

  

values-w480dp-h800dp