android - 从包中检索 hidensity drawable (honeycomb)

标签 android drawable android-3.0-honeycomb scaling

这段代码

final ApplicationInfo ai = getPackageManager().getApplicationInfo("com.company.hello", 0);
final Drawable d = getPackageManager().getApplicationIcon(ai);

即使在我的 hidensity HoneyComb 设备上也可以检索 48x48 (mdpi) 的可绘制对象。

考虑到我可以通过 Bitmap.createScaledBitmap 放大可绘制对象,我想问一下如何提取已经存在的高密度图标。 getDrawableForDensity 方法不适用于 sdk < 15,但我不乐意为我必须绘制的每个图标调用缩放函数,因为它在包中是免费的。

编辑赏金

暂时忘记了我的设备显示密度,问题如下: 给定一个我们知道在相关 hdpi res 文件夹中肯定有一个 72x72 图标的自己的包,如何从另一个包中提取这个图标?

THIS FUNCTION在 Honeycomb 环境中不可用。

最佳答案

要直接找到具有良好密度的可绘制对象,您只需尝试这个:

mContext.getResources().getDrawable(R.drawable.mydrawable);

问题是什么?如果 android 给你一个 48x48 的图标,那就是好的图标,或者你没有在好的 res/drawable- 文件夹中设置图标。

关于android - 从包中检索 hidensity drawable (honeycomb),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14360295/

相关文章:

android - 按下后退按钮时Android崩溃

android - 如何在java中从drawable读取图像到File对象?

java - 制作一个简单的蜂窝发射器

android - 读取 Android 中的任何文本文件并将内容转换为 UTF-8?

java - SQL 数据库 Columns 错误,或者不存在?

Android 多个 <application> 在一个 androidmanifest

java - 如何在android中使用Drawable绘制笔画?

android - 在某些版本的 Android 上有选择地启用 Action Bar

android - 增加 SeekBar 的触摸优先级

android - 我将图像粘贴到 android studio 4.1 的可绘制文件夹中,它在图像名称中显示红线(错误线)