【问题标题】:Which drawable folder is being used?正在使用哪个可绘制文件夹?
【发布时间】:2013-12-31 21:37:20
【问题描述】:

我有 7 个可绘制文件夹(即 7 个​​限定符)都具有相同的命名图像,因此我需要知道如何以编程方式或以其他方式找出应用程序从哪个可绘制文件夹获取图像:drawable-xhdpi, drawable-mdpi 等?

编辑问题:限定符和两个可绘制文件夹都是可能的候选者的情况有优先权。例如 drawable-large-mdpi 和 drawable-mdpi,如果我拥有所有三个文件夹,甚至第三个候选者也可以是 drawable-sw600dp。我知道有关于限定符优先级的文档,但我想确定我的结论

【问题讨论】:

  • 根据设备屏幕尺寸,android会选择drawable文件夹...
  • 我知道。问题是我怎么知道。我有一个特殊的情况,我需要自己放心。
  • 一种方法是您必须获取屏幕尺寸,然后您必须确定将从哪个文件夹加载。
  • 我当然得出结论,但这并不能让我确定它来自哪里。有两个可绘制文件夹可能的候选者的限定符和情况的优先级。例如 drawable-large-mdpi 和 drawable-mdpi,如果我拥有所有三个文件夹,甚至第三个候选者也可以是 drawable-sw600dp。我知道有关于限定符优先级的文档,但我想确定我的结论
  • @BThompson 不幸的是,我不记得解决它,这是很久以前的事了。但如果我今天有同样的问题,我会写在实际的 imgs 上

标签: android drawable


【解决方案1】:

试试这个代码

switch (getResources().getDisplayMetrics().densityDpi) {
case DisplayMetrics.DENSITY_LOW:
    // handle your code here for ldpi
    break;
case DisplayMetrics.DENSITY_MEDIUM:
    // handle your code here for mdpi
    break;
case DisplayMetrics.DENSITY_HIGH:
   // handle your code here for hdpi
    break;
case DisplayMetrics.DENSITY_XHIGH:
    // handle your code here for xhdpi
    break;
}

【讨论】:

猜你喜欢
  • 2012-03-14
  • 1970-01-01
  • 2023-04-02
  • 2023-03-26
  • 2013-04-14
  • 2014-12-14
  • 1970-01-01
  • 2016-02-18
  • 1970-01-01
相关资源
最近更新 更多