是否有可能在Android中访问特定密度的绘图



当然,根据情况,我通常会为我的应用程序支持的每个密度设置一个可绘制的密度,当我使用一些可绘制的id引用时,会使用正确的可绘制密度。

但我希望从一个特定的密度(例如,ldpi)访问可绘制的,无论密度在设备上运行。但我希望这是在一个特定的情况下,而不是在所有地方,这会破坏每个密度有多个绘图的目的。

这可能吗?

这是我用来加载从另一个应用程序绘制的hdpi(仅适用于Android 4.0)

PackageInfo pi = packages.get(i);
ai = new AppListAdapter.AppItem();
try {
    Context otherAppCtx = getApplicationContext().createPackageContext(pi.applicationInfo.packageName, CONTEXT_IGNORE_SECURITY);
    ai.Icon = otherAppCtx.getResources().getDrawableForDensity(pi.applicationInfo.icon,  DisplayMetrics.DENSITY_HIGH);
} catch (Exception e) {
    ai.Icon = pi.applicationInfo.loadIcon(getPackageManager());
}

我不知道这是否可能,但作为一个简单的逻辑。

你只需在中复制ldpi可绘制的文件并命名为mypic2并保存在ldpi文件夹中。

现在从您的xml或活动中给出新mypic2在您的特定情况下的引用

如果它是一个特定的可绘制的,那么就把它放在ldpi文件夹中。如果运行时在任何更合适的密度文件夹中找不到它,它将从那里捡起。

最新更新