android - 为所有 Android 设备的布局分配 px 值

标签 android android-layout android-resolution

我正在根据一组规范设计布局。我基本上需要在布局和 android 设备之间留出一些空间。下图供引用

enter image description here

我正在使用以下网站将给定像素转换为 dp 值 AndroidPixelConverter

我在 xxxhdpi 列中给出 px 值并获取其相应的 dp 值,我将其放置在我的 xml 布局中。

我测试的主要手机是三星 S4 和 Nexus5

以下是我的问题:

  1. 根据 this网站 Nexus5 和三星 S4 属于 xxhdpi 分辨率,但如果我使用上述 AndroidPixel Converter 网站中的 xxxhdpi 列,我仍然会得到正确的像素值。这是为什么?
  2. Nexus5 有软导航栏,而三星 S4 有硬按钮作为导航。我如何检测它并相应地为我的布局赋予值(value)。导航栏,如果我没记错的话是 144px 的高度,如果不存在将改变布局尺寸。我该如何处理?

最后,我采用的方法是否正确?如果不是,请以正确的方式引导。

P.S:我正在寻找跨所有设备的像素完美布局。可能吗?

最佳答案

您需要与您的设计师交谈并以不同的方式处理事情。你永远不想像那样以像素为单位指定布局。它不会缩放 - px 可以是任何大小。回到他那里并获得一个 dp 数字(dp 基本上是 1/160 英寸)。在 dp 中设计整个事物。然后让手机自己把它翻译成px。

如果以像素为单位进行设计,那将行不通。以物理尺寸 (dp) 进行设计,让设备平移。

此外,您不能假定导航栏的高度。它可以而且确实在 dp 和 px 方面因设备而异。

关于android - 为所有 Android 设备的布局分配 px 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29911686/

相关文章:

Android 应用程序设计分辨率

android - 如何在 Android 中为不同的分辨率使用不同的背景图片?

android - Web View 中未显示进度对话框

android - x + 宽度必须 <= bitmap.width()

java - 如何在Android ListView中加载list_item_event.xml?

android - 填充android布局xamarin

android - 工具栏不会在操作模式下消失

android - onProviderDisabled 在后台服务中

android - 如何让Android Activity出现在通知区域后面

android - 我如何知道将为我的设备加载哪些资源?