问题标签 [imageview]

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 回答
2984 浏览

android - 在不同线程上的 ListView 中加载图像的安全标准方法?

在提出这个问题之前,我已经搜索并阅读了这些问题: 在 ListView Android 中延迟加载图像 - 将图像延迟加载到 ListView 中的问题

我的问题是我有一个ListView,其中:

  • 每行包含一个ImageView,其内容将从互联网加载
  • 每一行的视图都像 ApiDemo 的 List14 一样被回收

我最终想要的:

  • 延迟加载图像,仅当用户滚动到它们时
  • 在不同的线程上加载图像以保持响应能力

我目前的做法:

  • 在适配器的getView()方法中,除了设置其他子视图之外,我还启动了一个从 Internet 加载位图的新线程。当该加载线程完成时,它会返回Bitmap要设置的ImageView(我使用AsyncTaskor来执行此操作Handler)。
  • 因为我recycle ImageViews,所以可能是我先想用 设置一个视图Bitmap#1,然后想Bitmap#2在用户向下滚动的时候设置它。Bitmap#1可能碰巧需要比Bitmap#2加载更长的时间,因此它最终可能会覆盖Bitmap#2视图。我通过维护一个WeakHashMap记住Bitmap我想为该视图设置的最后一个来解决这个问题。

下面是我当前方法的一些伪代码。我省略了缓存等其他细节,只是为了保持清楚。

我仍然遇到的问题:如果 Activity 在某些图像仍在加载时被破坏怎么办?

  • 当 Activity 已经销毁时,加载线程稍后回调 ImageView 是否有任何风险?
  • 此外,AsyncTask它下面有一些全局线程池,所以如果不再需要冗长的任务时没有取消它们,我最终可能会浪费时间加载用户
    看不到的东西。我目前在全球范围内保留这个东西的设计太丑陋了,最终可能会导致一些我无法理解的泄漏。ImageLoader我没有像这样制作 单例,而是考虑实际ImageLoader为 different 创建单独的对象Activities,然后当 an Activity被销毁时,它的所有 内容都AsyncTask将被取消。这也太尴尬了吧?

无论如何,我想知道在 Android 中是否有一种安全且标准的方法来执行此操作。另外,我不了解 iPhone,但那里有类似的问题吗?他们有标准的方法来完成这种任务吗?

非常感谢。

0 投票
1 回答
71889 浏览

android - 如何将位图设置为从相机捕获的 main.xml 中的 ImageView?

我在 main.xml 中有一个 Imageview,如何将位图设置为 main.xml 中的 imageView 我可以在下面的代码中将位图分配给本地图像视图。

0 投票
1 回答
6429 浏览

android - Android:ImageView 放大源图像

我似乎无法让我的 ImageView 以原始大小显示其源图像。ImageView 看起来像这样:

源图像是 140 像素宽,但在 Nexus One 的屏幕上,它是 480 像素宽,它占用了一半的宽度。使用 px 或 dp 中的绝对值作为宽度和高度不会改变任何内容。图像在放大后看起来也非常抗锯齿。为什么会发生这种情况,我该如何预防?

0 投票
4 回答
150896 浏览

android - 如何为 ImageView 设置LayoutParams()?

我想设置LayoutParams一个ImageView但似乎无法找到正确的方法。

我只能在 API 中找到ViewGroups各种ImageView. 然而ImageView似乎有这个功能。

此代码不起作用...

我该怎么做?

0 投票
8 回答
336961 浏览

android - 更改 ImageView 源

ImageView使用以下语法在 xml 中设置了源图像:

现在我需要以编程方式更改此图像。我需要做的是删除旧图像并添加一个新图像。我所做的是这样的:

它有效,但我注意到 android 将新图像堆叠在旧图像之上(不要问我如何发现它与讨论无关:)。在设置新图像之前,我肯定需要摆脱旧图像。

我怎样才能做到这一点?

0 投票
1 回答
4250 浏览

android - Android 在视频缓冲时显示图像?

我有一个使用 VideoView 显示视频的应用程序。布局由一个 Clock 和一个 VideoView 组成,布局在一个简单的垂直 LinearLayout 中。

这是我使用的代码片段:

由于视频的缓冲大约需要 8-10 秒,因此布局出现了时钟,但 VideoView 保持空白。我想要实现的是:

-- 在视频缓冲时显示 10 秒的 ImageView -- 检测视频何时准备好播放(onPrepared?) -- 显示时钟和 VideoView 并启动视频

有人对如何解决这个问题有任何指示吗?

谢谢克里斯

0 投票
1 回答
1582 浏览

android - Android改变ImageView的方向

是否可以将 ImageView 的方向更改为始终为 PORTRAIT,而 Activity 中的其他视图可以旋转?

由于图像在旋转时并不总是看起来很好......

谢谢克里斯

0 投票
2 回答
5757 浏览

android - 如何在android中显示外部图像?

我想显示外部图像,如:

http://abc.com/image.jpg

在我的安卓手机应用程序中。

谁能指导我如何实现这一目标?

0 投票
4 回答
4583 浏览

android - 在Android中将ImageView添加到ScrollView时的冗余边距

我一直在尝试在具有 JPG(~770 x 1024)的单个 ImageView 上使用 ScrollView,而不是 600x800 的 AVD。

我的 main.xml 是:

现在,我添加了一个 ImageView

结果是图像显示在 ScrollView 的中间,顶部和底部用背景区域包裹,如下所示:

而不仅仅是

我尝试将 ImageView 的背景设置为红色,并验证了空白边距是 ImageView 背景。

我希望图像的大小不超过其大小(缩放到 AVD 大小),并且我希望 ScrollView 让我滚动剩余部分(如果有的话)。

出于某种原因,我看到可绘制尺寸是 600x1024。

此外 ,我尝试添加一个带有虚拟文本视图的 LinearLayout,例如线性布局是 ImageView 和 TextView 的父级,而 ScrollView 是 LinearLayout 的父级。

结果非常奇特:整个布局设置为无文本文本视图的高度(19)。

避免拉伸图像对我来说很重要。我不能将 FIT_XY 用于 ScaleType。实现可滚动页面显示的推荐方法是什么?我是否必须使用简单的布局手动完成并在GestureDetector.OnScroll事件上滚动?

谢谢

什穆尔

PS:另一个观察:将图像缩小到 600x780(按比例缩放),它确实可以正常工作。不幸的是,对我来说,使用一组缩小的图像克隆是不可行的。

0 投票
2 回答
185 浏览

android - 解锁 Android 图像无法显示

每当 Android 设备锁定并解锁时,ImageView 中显示的图像就会消失。我需要做什么才能重新显示它或防止这种情况发生。

更多:我有一个根据上下文显示视频、图像或文本的视图以及扩展父视图的三个子类。在创建时,我将显示视图替换为从 createMediaPreview() 返回的 View 对象,每个子类都实现了该对象。

提前致谢