我有一个奇怪的问题。
在你想出一个抨击我的想法之前,我正在制作一个定制的果冻豆。因此,“通常的好方法”在这里可能行不通,必须做出肮脏的变通办法。
我有一个 APK,其中包含以下资产:
layout
layout-mdpi
layout-land
layout-large-mdpi
layout-large-land-mdpi
layout-large-hdpi
layout-large-xhdpi
其他一些指标代码返回了这个:
D/AppDemo( 2091): measured width: 1920 PE width: 1920 scaleFactor = 1.0
D/AppDemo( 2091): [ANDROID] measured width: 1920 measured height: 1080
D/AppDemo( 2091): [ANDROID] scale for resources: 2.0 xdpi: 320.0 ydpi: 320.0
D/AppDemo( 2091): [ANDROID] screen density: xhdpi
D/AppDemo( 2091): [ANDROID] screen size: large
D/AppDemo( 2091): [ANDROID] using layout: layout-mdpi
那么,查看指标,为什么没有layout-large-xhdpi
被加载?
请告诉我在哪里可以查到这个。我真的需要找到一种方法来强制 Layout/Resource/AssetManager
加载特定的布局。
我知道在这个问题上最受欢迎的评论是“你不需要/为什么你有layout-xhdpi
,你应该有drawable-xhdpi
和layout-large
”但是,请耐心等待。
即使是关于在哪里看和寻找什么的小提示,我也会非常感激。到目前为止,AssetManager
似乎是开始挖掘/记录的地方。
当我省略layout-mdpi
时,应用程序在我身上崩溃,缺少资源。该错误似乎是即使代码返回xhdpi
,它也假定在mdpi
其他地方。我需要找到它并修复它,这样我的应用程序看起来就和它们在 ICS 上一样好:)
我正在以一种简单的方式确定哪个布局被加载 - 所有根布局都有一个android:tag
元素,当setContentView(R.layout.main_layout)
我抓住根元素上的标签并知道哪个文件夹被加载时。除了视觉反馈之外,这最终必须与我的设备配置相匹配。
提前致谢。