适用于5.5'的Android替代资源和6''手机

时间:2015-11-02 05:27:15

标签: android android-layout

我想知道如何为Android设备添加替代资源5.5''和6'在项目结构内。 我想为5.5到6英寸之间的设备添加一个具有不同文本大小的自定义dimens.xml文件 我正在考虑使用小宽度配置限定符,但有很多屏幕配置,我不知道哪个屏幕尺寸是5.5'''和6''手机。我可以使用的另一个替代方案是屏幕大小存储桶(小型,普通型,大型,xlager),但这些是从Android 3.2及更高版本推荐使用。

有人可以就此提出建议吗?

3 个答案:

答案 0 :(得分:2)

感谢您的建议,但请查看此示例。

我有这个电话: - Nexus 5x,分辨率为5.2''1080x1920像素,420dpi

dp = px / (dpi / 160) 
dp = 1080 px /  (420 dpi / 160)
dp = 411 dp
  • Nexus 6p,5.7分辨率1440x2560像素,560dpi

    dp = px /(dpi / 160)

    dp = 1440 px /(560 dpi / 160)

    dp = 411 dp

如果我为具有5.7英寸的Nexus 6p创建一组特定的资源,或者对于只有5.7英寸的设备创建一组特定的资源,我可以创建此文件夹

values-sw411dp

但是,当在5.2“和5.7”设备上使用该应用程序时,将使用该文件夹中的所有资源。

我还有其他问题,可能是最小的手机,比如5.0''可能比5.7'更大的dp,它将要发生的是5.7''设备的资源,它将被用于5.0''设备也是。

如何为5.7''手机指定资源。

答案 1 :(得分:0)

嗯,你是对的我也会选择最小宽度的水桶。

您可以使用the official documentation中给出的公式检查dp中的电话尺寸来计算最小宽度:

px = dp * (dpi / 160)

所以要获得最小宽度dp:

dp = px / (dpi / 160)

px是较小维度上的像素,dpi是设备的每英寸点数比率。 所以首先检查设备'像素大小和dpi值,然后使用上面的公式计算dp值。然后,您可以使用sw400dp等资源创建文件夹,您可以在其中更改为计算的dp

此外,我建议检查其他设备尺寸,以便在较小/较大的屏幕上没有奇怪的布局。

答案 2 :(得分:0)

Abbath,非常感谢你继续回答我的问题。我不使用图像,我正在使用TextView的文本大小。我需要更改textView文本大小,仅当设备屏幕大小大于5.5时才需要更改。我创建了一个/value-sw411dp/dimens.xml,其中包含相应的textview文本大小。我发现sw411dp是5.5'的最小dp宽度。设备,但有另一部手机有5.2''具有相同的屏幕空间。因此,系统会将/values-sw411dp/内的资源用于具有5.5''和5.2'

的设备。

你告诉我的是,如果一个5.2''与5.5'具有相同的屏幕dp,我不应该担心这一点,因为最后UI布局看起来会没有问题。