如何在从url加载的ImageView中淡入图片

2024-03-07

我想对 ImageView 应用淡入动画,以创建从 url 加载的图像在下载完成时淡入的效果。

我知道如何将图像从 url 下载到 ImageView,例如这个答案 https://stackoverflow.com/questions/2471935/how-to-load-an-imageview-by-url-in-android,并且我知道如何将淡入动画应用于 imageView像这儿 https://stackoverflow.com/questions/2597329/how-to-do-a-fadein-of-an-image-on-an-android-activity-screen.

这次尝试

Drawable d = ImageUtils.fetchDrawable("the url");
imageView.setImageDrawable(d);
imageView.startAnimation(fadeInAnimation);

产生闪烁效果(看到、看不到、淡入看到)。颠倒最后两行的顺序也会导致眨眼。

我已经用谷歌搜索并搜索了回调/侦听器形式的解决方案 - 如下所示:

imageView.setOnLoadCompleteListener...

在 ImageView 中注册加载完成事件,但我没有找到任何类似的内容。

如果您能提供有关如何实现此效果的解决方案,我将不胜感激。


可以使用:TransitionDrawable,简单代码如下:

        // Transition drawable with a transparent drwabale and the final bitmap
        final TransitionDrawable td =
                new TransitionDrawable(new Drawable[] {
                        new ColorDrawable(Color.TRANSPARENT),
                        new BitmapDrawable(mResources, bitmap)
                });
        // Set background to loading bitmap
        imageView.setBackgroundDrawable(
                new BitmapDrawable(mResources, mLoadingBitmap));

        imageView.setImageDrawable(td);
        td.startTransition(FADE_IN_TIME);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在从url加载的ImageView中淡入图片 的相关文章

  • 使用arm-linux-gnueabi-gcc为Android交叉编译静态C hello world

    我想使用 arm linux gnueabi gcc 从 C 构建静态 hello world 而不是使用 NDK 独立工具链或 Codesourcery 在Ubuntu中 我做了以下事情 sudo apt get install gcc
  • 如何在 Android 中获取像素颜色

    我正在使用 Intent 调用并显示图库中的图像 现在我可以使用以下命令在 TextView 中获取图像的坐标 final TextView textView TextView findViewById R id textView fina
  • 返回重复假期活动的日历

    我发现 当有两个帐户链接到他们的设备 并且两个帐户都同步其日历 并且两个帐户都设置为显示 Google 假日日历时 CalendarContract Instances 将每个假日返回两次 每个帐户返回一次日历 因此 在这种情况下 您会看到
  • 进入沉浸式全屏模式时状态栏为白色

    我根据以下内容做了一个关于沉浸式全屏模式的简单项目使用沉浸式全屏模式 https developer android com training system ui immersive html But first of all it per
  • 如何更新不是我自己创建的 APK 的版本

    我是 Android 开发新手 我正在使用 x 平台开发工具 它为我构建并签署 APK 该工具有一个错误 它不会使用我指定的版本代码生成 APK 所有生成的 APK 都是版本 1 0 我想解压APK 编辑版本代码 然后辞职并重新打包 它最初
  • 尽管使用了 NTP 偏移量,设备仍会在几秒后启动指令

    背景 我有两台物理设备 一台 Galaxy S3 手机 和一台 Asus 700T 平板电脑 我想在同一时间执行同一组指令 因此 我使用的是 Android 的平台框架 基本 SNTP 客户端代码 https github com andr
  • 使用数据绑定更新对象类型 LiveData

    我想通过与 livedata 的数据绑定来更新视图 让我们看一下场景 数据类 data class Movie var name String var createdAt String 视图模型 class MyViewModel View
  • 如何平移画布并仍然在正确的位置获取触摸事件

    我正在尝试创建一个自定义 AbsListView 覆盖 ListView GridView 和 HeaderGridView 上的相同内容 它将根据外部因素 在布局上移动的其他内容 重新定位其所有绘图和触摸事件 填充在这里不是一个选项 因为
  • 单元测试定位服务

    我有一个位置跟踪服务 正在尝试对其进行单元测试 我正在尝试使用 locationManager addTestProvider 和 setTestProviderLocation 方法来实现此目的 但是 我似乎无法通过提供程序获取任何位置并
  • 在 Volley 中更新 UI 最有效的方法是什么

    最近我在 android 中使用 Volley 库 它工作得很好 但我想知道更新 UI 的最有效方法 我有一个包含所有 Volley 方法的 Utils 类 现在我传递了所有视图将作为参数更新 但我读到我可以在活动中实现侦听器 然后将它们作
  • 如何判断Android设备是否有触摸屏?

    我花了相当多的时间让我的 UI 仅支持键盘输入 但最终我不确定我是否可以相信 Android 设备都有触摸屏的假设 有没有办法判断Android设备是否有触摸屏 您应该研究现有设备并阅读Android 兼容性定义文档 http source
  • Android Ant项目参考

    我有一个 Android 项目 它有一个 Java 项目文件夹引用 我是用eclipse开发的 现在我想用Ant编译 我想在 build xml 中添加内容以包含引用 假设您的项目名为 HelloListview 比如说 并且您希望所有 A
  • Android sqlite 缺少列

    我的 SQLite 数据库缺少一个我知道存在的列 我将无法从 Android 模拟器中提取数据库 因为如果不重写大量代码 就无法使用模拟器填充数据库 logcat 返回sqlite returned error code 1 msg tab
  • 连续按钮的自定义 arrayadapter 和 onclicklistener

    我有一个自定义数组适配器 我想为每一行中的按钮添加一个 onclicklistener 当我单击按钮时 我希望图像资源发生变化 一切正常 除了当我单击按钮时图像发生变化但另一行中的另一个按钮的图像也会发生变化 感谢您的帮助 这是我的代码 p
  • 从字符串中删除特定字符[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何从字符串中删除特定字符 我有一个 Arraylist 测试数组 String line testingarray get index
  • 如何获取任何已安装 Android 应用程序的清单权限

    是否可以获得任何已安装的 Android 应用程序的清单权限 感谢您的提示 让它运行 final Intent mainIntent new Intent Intent ACTION MAIN null mainIntent addCate
  • ACTION_MEDIA_BUTTON 的广播接收器不起作用

    我正在为 Android 操作系统版本 4 0 3 ICS 编写 Android 应用程序 问题是我没有从 BroadcastReceiver 的 onReceive 方法中的 Log d 获得输出 这意味着我的应用程序没有正确处理广播 我
  • 在 Android 中创建硬链接和符号链接

    我正在创建一个应用程序 我想在其中使用 Android 外部内存文件系统中的硬链接和符号链接 我尝试过使用命令 Os link oldpath newpath Os link oldpath newpath 但是 当我尝试这样做时 我收到此
  • 找不到 com.android.tools.build:gradle:3.0.0 [重复]

    这个问题在这里已经有答案了 当我尝试从命令行构建可能的 Android 项目时 我收到以下错误消息 配置项目 mylib 时出现问题 无法解析配置 mylib classpath 的所有文件 找不到 com android tools bu
  • 查看 Android 应用程序的共享首选项?

    当我在 Eclipse 中处理我的应用程序时 有没有办法在模拟器中调试时查看我对应用程序的共享首选项所做的更改 提前致谢 在模拟器中运行项目 然后从 Eclipse 选择菜单 Windows gt 打开透视图 gt DDMS 从选项卡设备中

随机推荐