android - 适用于 Amazon Kindle HDX 7"高清屏幕的正确布局资源文件夹

标签 android android-layout dpi multiscreen

我有一个新设备可以将我的应用移植到 (Kindle Fire HDX)

DisplayMetrics 转储:

DPI : 320, 
wxh 1920x1200, 
x,y dpi 324.255x322.966, 
scaleddensity 2.0 
densityfactor 2.0

放置布局资源的最准确文件夹“swXXXdp”是什么?我可以根据 displayMetrics 计算出“XXX”吗?

  • 为了定位我的 10.1 galaxy 选项卡,我使用“sw720dp”。
  • 要定位旧的 7 英寸 1024x600,我使用“sw600dp
  • 这个 kindle fire 似乎也从“sw600dp”获取资源,但我不完全明白为什么(因为它的分辨率屏幕比其他 7 个大得多)<

有人能解释一下吗?谢谢!

最佳答案

感谢大家的回答和一些研究,我终于明白了 swXXXX 的事情。

sw*XXXX* 和 sh*XXXX* 确实表示可用的最小宽度和最小高度,但是显示中的Desity Factor指标也会影响此值。

例如

  • Amazon Kindle Fire HDX 7"的“原始”分辨率为 1920x1200,但显示屏超高密度 (xhdpi),这就是密度因子设置为 2 的原因。因此对于资源,Android 将看起来在 sw(1200/2) == sw600dp

  • 我的旧平板电脑也是 7 英寸,原始分辨率为 1024x600,但显示密度较低,因此 DisplayMetrics 返回密度因子 1,关联的资源文件夹将为 sw(600/1) dp == sw600dp

  • 新的“类视网膜”10 英寸屏幕的分辨率约为 2560x1600,但密度系数还是 2,因此当涉及到 swXXXX 布局时,它们等同于密度为 1280x720 的屏幕factor=1(即 Galaxy Tab):在两种情况下,文件夹都是 sw720dp

  • 所以虽然layout文件夹一样,但是Bitmap资源会根据密度码来取,这是不一样的。我描述的现代平板电脑使用 xhdpi,而较旧的平板电脑使用 mdpi 或 hdpi - 现在不记得了 -。这就是最终结果起作用的原因:相同的布局使用与密度无关的尺寸,并加载与密度相关的位图。最后的煎蛋很好吃!

关于android - 适用于 Amazon Kindle HDX 7"高清屏幕的正确布局资源文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22057401/

相关文章:

android - 在android中创建垂直渐变

android - 支持所有中大型安卓屏幕的背景图片大小

android - 如何找到手机所在的密度桶?

Android:Firebase 在 4.4.4 中无法工作

android - 按下主页按钮时如何执行代码?

android - 如何在 android 中使用 TabHost.OnTabChangeListener?

java - 在 Google Map v2 上绘制五个透明外接圆

android - 设置全屏模式会在 Android 应用程序底部留下死角

android - 带有自定义 ListView 的自定义警报对话框

inno-setup - Inno Setup 根据屏幕 DPI 正确定位标签