问题标签 [bitmapdrawable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
573 浏览

android - 除了使用 BitmapDrawable 之外,还有其他方法可以从 XML 获取位图吗

我目前在我的应用程序中使用 BitmapDrawable,但不幸的是,这个实现在 Lollipop 中似乎有些破损(在 LP 之前它工作正常,关于这个问题有一个单独的问题)。

所以,好的,我有一个 XML 文件,基本上是这样的:

背景.xml

上面是一个 XML 文件(别名),它指向一个实际的 png 文件。

在我的代码中,我得到这样的位图:

代码

这个问题是问是否有另一种方法来获取这个位图?请注意,BitmapFactory 对我没有好处,因为我必须能够通过上面显示的 xml 别名获取此位图。

我已经阅读了有关创建 XML 别名的官方文档,但不幸的是,在解释如何访问位图时,它们有些欠缺。

任何帮助或建议表示赞赏。

0 投票
1 回答
767 浏览

android - LayerDrawable:这可以更有效地完成吗?

我有一个ImageView全宽和宽度:高度 = 3:1,我们称之为 1200 x 400。我想在 中显示两个Drawables ImageView,这两个 s 都只在运行时才知道。应根据“中心裁剪”将其中一个可绘制对象放入其中ImageView(假设可绘制对象的宽度:高度> 3,这意味着使宽度完全适合并裁剪顶部和底部),另一个应居中并按比例缩放自定义因素。

我有一些代码可以做到这一点,但对我来说似乎不必要地复杂;Bitmap 当我从 中创建一个新的LayerDrawable,然后BitmapDrawable从那个创建一个新的,然后在 上再次设置所需的边界时,我只能让它按需要工作BitmapDrawable,尽管我已经在LayerDrawable- 上设置了边界,但如果我不这样做,这些边界将被忽略'不要执行额外的步骤。我更喜欢以LayerDrawable这样的方式生成,我可以使用它.setImageDrawable(),但我不知道如何。如果我尝试,Android 会做什么对我来说没有任何意义。我究竟做错了什么?

这就是我制作的方法LayerDrawable

(我用 Bitmap bm1 2400 x 1200 像素和 Bitmap bm2 800 x 300 像素进行了测试。)

现在,如果我只是使用它LayerDrawable,就像这样

ImageView不会有所需的大小(高度变化。)如果我再次设置布局,LayoutParameters我可以防止这种情况发生,但是,drawables没有正确显示。相反,我这样做

有用。

是github上的完整代码

0 投票
3 回答
1031 浏览

android - BitmapDrawable 构造函数中的“资源”到底是什么?

由于BitmapDrawable不推荐使用无参数构造函数,我们必须为构造函数提供资源 id。

res一般在哪里getResources()

为什么构造函数需要它,如果我们使用通用图像缓存,我们如何定义该值?

0 投票
1 回答
548 浏览

android - Android BitmapDrawable 导致内存不足

基本上我ImageView在 UI 中有 4 个,我想为它们设置图像。以下是相关代码:

在控制台中,表明这一行:

导致这样的错误:

我真的很陌生android......有什么建议吗?

0 投票
1 回答
2407 浏览

android - 从 RoundedBitmapDrawable 转换为 BitmapDrawable

在开始使用 RoundedBitmapDrawable 来圆角之前,一切都运行良好Bitmap

开始使用后RoundedBitmapDrawable,我得到:

java.lang.ClassCastException:android.support.v4.graphics.drawable.RoundedBitmapDrawable21 不能转换为 android.graphics.drawable.BitmapDrawable

代码:

0 投票
1 回答
142 浏览

android - 如何在下一个clickevents上显示android bitmapdrawable更改

当用户输入文本时,在下次单击时,图像上的先前文本消失了。如何在所有点击事件上将所有文本输入保存在可绘制的位图上。请建议。

如何为每次单击将文本保存在 bitmapdrawable 上。每次以前的文本都被最新的替换?

0 投票
1 回答
87 浏览

android - Android - AlertDialog 不会显示 BitmapDrawable

在我的应用程序中,我正在下载一张小的 Facebook 个人资料图片,并将其与用户的名字和姓氏一起显示在AlertDialog(as ) 中。BitmapDrawable

现在,我的问题是,在某些设备上BitmapDrawable显示在AlertDialog(Android ~4.0)中,而在某些设备上则不显示(5.0 及更高版本),但在所有设备中都BitmapDrawable包含正确的位图,我能够加载那个BitmapDrawable例如ImageView

任何的想法?

更新:即使在调试器中,我也可以看到图标集,AlertDialog调试器也允许我查看它的位图,并且显示完美。它只是不会出现在对话框中,我不知道为什么。

0 投票
2 回答
1205 浏览

android - 不推荐使用 BitmapDrawable 方法的自定义 PopupWindow

在我使用自定义 PopupWindow 的应用程序中

方法。现在这里已弃用它,如果没有这种方法,我将无法为我的弹出窗口提供背景。我从文章中读到它的替代方案是

但在这里我没有使用任何可绘制的弹出窗口。我的代码在下面给出了我正在制作我的自定义弹出窗口的地方,这里是为了解决这个问题。

0 投票
1 回答
826 浏览

android - 动态“src”为Android xml 中的标记

问题:有没有办法在 Android XML 文件中的 XML“位图”上动态设置“src”属性?

我有一个名为“repeat_background.xml”的自定义 XML 可绘制对象,定义如下:

我使用这个drawable来“平铺”一个1x1 jpg(名为background.jpg)作为我应用程序中所有页面的背景,它工作得很好 - 这是一个将它设置为背景的示例LinearLayout

但是,我希望实际的 jpg(在本例中为来自 @drawable/background 的“background.jpg”)基于用户的偏好 - 所以我将有一个允许用户选择红色、蓝色、橙色等的列表. 所以用户可以覆盖应用程序中显示的背景颜色,我将有一个 1x1 jpg 对应于我的资源包中的每种可用颜色 - 但是我如何将首选 jpg 显示为背景?

我不想在每个 Fragment 或 Activity 中手动调用一些代码,我想要一些尊重用户偏好并做出相应反应的东西。

我试图扩展 BitmapDrawable 类,但没有走得太远。非常感谢任何有关我如何完成此任务的建议。

0 投票
2 回答
90 浏览

android - 如何从 BitmapDrawable 检索 URI 或 ID

我想显示每个已安装应用程序的名称和图标。为此,我正在使用以下代码检索信息:

我已经有一个自定义ListView来显示图标和应用程序名称,但是对于图标我需要一个IDor URI

它给了我类似的东西:

而且我不知道如何使用它。

有没有办法检索URI 或ID从这些数据中检索?

有人在这里发布了一个关于这个BitmapDrawable@...的问题,但没有答案。

编辑: 实际上,我用 a 存储数据HashMap<String, String>,所以我有类似的东西:

然后,我使用SimpleAdapter

我知道使用它不是一个好主意,HashMap<String, String>但我不知道如何以不同的方式使用它。