问题标签 [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 投票
2 回答
604 浏览

android - android : 带有 VectorDrawables 的 roundedImageView

将 Vector Drawables 设置为 RoundedImageView 时出现错误。我很清楚我得到的错误,这是因为我试图将一个可绘制对象投射到 BitmapDrawable 但它应该是 VectorDrawable (如果我没有错的话),所以任何人都可以建议我处理任何类型的图像的方法它是否是 jpg 、 png 或矢量。

RoundedImageView.java:

我的错误日志:

0 投票
2 回答
505 浏览

android - 通用图像加载器和 BitmapDrawable

我们在 B64 中有一个图像,我们想使用该图像作为通用图像加载器中的加载图像,而不是从 url 加载更好的图像。因此,我们从 b64 中的该 url 创建一个位图并将其转换为 BitmapDrawable。如果我这样做,结果会很好:

但是,在 DisplayImageOptions 上,如果我在加载时将该 bitmapDrawable 设置为图像,则该图像永远不会显示。我正在执行以下操作:

如您所见,我不仅在加载时将可绘制位图设置为图像,而且在失败时也设置为图像(因为我们不希望在从 url 加载更好的图像时出现错误时更改该图像)。结果是永远不会显示位图可绘制对象。我们做错了什么?

更新:调试发生的事情后,我发现问题不是可绘制的位图,它受到支持并且工作正常。问题是我使用的是默认显示选项构建器(mDisplayImageOptionsDefaultBuilder),而不是在某些时候:

所以通用图像加载器中有一个错误,因为现在我正在创建一个显示图像选项:

另一个“解决方案”是:

但是在内部它存储了一个存储的资源,所以我的drawable没有显示,而是存储的资源。创建一个新的 DisplayImageOptionsBuilder 对我有用,但如果 showImageOnLoading 设置为可绘制对象,那么旧资源会自动清除。

提前致谢。

0 投票
1 回答
119 浏览

android - 将位图设置为窗口背景

我想将BitmapDrawable一个特定活动的窗口设置为背景。但我最近读到垃圾收集器不容易收集可绘制对象。那么这是一个不好的做法吗?

0 投票
0 回答
491 浏览

android - 如何将最小的图像设置为 windowBackground 保持纵横比

寻求专家的关注..我想将图像(小于设备屏幕分辨率)设置为我的应用程序的背景..我希望它填充整个窗口但保持图像的纵横比...(如果图像纵横比与窗口纵横比不匹配,图像将被裁剪)。

注意:这是可能的,请参阅 Contacs+ 应用程序..他们做到了..无论多么小,它都会填满窗口,保持纵横比(不拉伸)并且图像的其余部分被裁剪。谁能给我解决这个问题

0 投票
1 回答
1561 浏览

android - LayerDrawable 作为背景可绘制在 minSdkVersion=15 或更低时不起作用

虽然我找不到任何 SDK 版本限制LayerDrawable在 API 级别 1 中添加),但我用作背景的版本取决于 minSdkVersion:如果它是 15 或更低,则背景是完全黑色的,如果是19 或更高版本 (KitKat<),图层按预期显示。

我正在以编程方式替换图层列表中的第一项。这是我使用LayerDrawable该类的方式(尽管应该没有任何问题):

mylayerdrawable 如下所示:

bgDrwbl在调试时,我注意到minSdkVersion=15 与 19 相比缺少以下成员:

  • LayerDrawable.mLayerState.mAutoMirrored
  • LayerDrawable.mLayoutDirection(基类成员Drawable:)

如果有人像我一样使用 LayerDrawable,我不知道它们中的任何一个是否至关重要(?),但我既没有收到任何警告,也没有找到任何关于在LayerDrawable不同 SDK 版本中使用 's 的建议。你有什么提示吗?

0 投票
1 回答
275 浏览

android - 设置 BitmapDrawable tileMode 使应用重新启动

虽然在大多数设备上我的应用程序运行良好,但在某些设备上(到目前为止,LG G3、三星 Galaxy S6)我遇到了一个奇怪的错误,我无法真正展开:

tileMode(通过 XML 或以编程方式)设置为a 上的任何内容( clamp// repeat),即布局的背景,使该背景完全变黑,并且应用程序在约 20 秒后重新启动 - 没有任何出现问题的迹象(没有LogCat 中的消息,我的活动的这些回调都没有被调用:、、、)。mirrorBitmapDrawableonPause()onStop()onDestroy()

由于这些冻结/崩溃之间存在一些不一致,具体取决于Bitmap所使用的,我开始玩弄.png图像,并发现,如果我减小这些图像的大小,我可以摆脱(大部分)这些崩溃( <200x200)。

自从

  • 仍然有一些崩溃和

  • 我无法确定所有设备的大小阈值

我仍在寻找一个通用的解决方案,也许你们中的一些人可以帮助我。

0 投票
1 回答
297 浏览

java - 无法从位图中保存图像

我收到一条警告,指出结果cachePath.createNewFile();被忽略。否则,以下代码不会将图像保存到我的手机中。我能做些什么?

我以这种方式从后端下载图像:

位图肯定不存在:android.graphics.Bitmap@12d9cc4

0 投票
1 回答
502 浏览

android - 如何在 SeekBar thumb 内显示 Android SeekBar progressChanged 值?

我想在 Android SeekBar 的拇指中显示当前进度点的值。这是我到目前为止所尝试的:

然后当我得到 Drawable d 的类型时,它是一个 Gradient Drawable。我进行了研究,但找不到将渐变 Drawable 转换为位图的方法。

0 投票
1 回答
469 浏览

android - Android:无法将 BitmapDrawable 转换为 ClipDrawable

我正在尝试使用 Android Jellybean (SDK 18) 实现一个简单的 ClipDrawable。我不明白为什么当 ImageView.getDrawable() 返回 Drawable 而不是 BitmapDrawable 时会出现转换错误

这是我在活动的 onCreate() 中的相关代码:

为什么我会为此获得 ClassCastException?我知道 BitmapDrawable 和 ClipDrawable 是 Drawable 的子类,所以你不能将它们相互转换,我知道。但是为什么 image.getDrawable() 返回一个 BitmapDrawable 而不仅仅是一个 drawable 呢?我在文档中遗漏了什么吗?

0 投票
1 回答
202 浏览

android - 来自应用程序资源与测试资源的不同可绘制加载

我正在为我正在开发的应用程序编写一些 UI 测试,我需要根据推送通知切换图像。为了在没有推送通知的情况下编写测试,我在 androidTest res 目录中放置了一个 png 文件,然后使用来自测试资源的资源 id 使用 ContextCompat.getDrawable() 加载它。我还使用应用程序资源中的 id 从应用程序资源加载相同的图像。

这是加载资源的代码:

drawable1 是 BitmapDrawable 的一个实例,drawable2 是 NinePatchDrawable 的一个实例。由于drawable2的底层PNG是drawable1的PNG的副本,我希望它们都是BitmapDrawables,我可以围绕这个进行编码,但想了解为什么会发生这种情况以供将来参考。