问题标签 [android-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 投票
4 回答
5976 浏览

android - 显示大于设备屏幕的图像

我想在不调整图像大小的情况下显示比设备屏幕更大的图像。它必须在屏幕上居中。我怎样才能做到这一点?

0 投票
1 回答
1531 浏览

android - TableRow 中的图像视图

我正在尝试在表格布局中显示图像。拍摄照片后会显示图像。显示图像时,它占据了整个屏幕,结果我的按钮消失了。我怎样才能解决这个问题??谢谢

XML 文件

*活动*

0 投票
37 回答
708855 浏览

android - findViewById in Fragment

I am trying to create an ImageView in a Fragment which will refer to the ImageView element which I have created in the XML for the Fragment. However, the findViewById method only works if I extend an Activity class. Is there anyway of which I can use it in Fragment as well?

The findViewById method has an error on it which states that the method is undefined.

0 投票
2 回答
4592 浏览

android - Displaying an image in ListView from SQLite database

I'm a little stuck at the moment. I know similar questions have been asked, but I haven't been able to find anything that has helped.

I'm trying to get and image to appear in ListView from an internal database inside my android application. I have a database with 141 rows, and each row is labeled 1,2 or 3. I need a different png image (saved in my res/drawable folder) to show depending on the 1,2, or 3. Here is my current Query. Any advice would be welcome. I realize there may be a better way to display the info I need.

0 投票
1 回答
1403 浏览

android - Android:使用图像的自定义离线地图

我正在尝试构建一个应用程序,该应用程序可以使用存储在应用程序内的图像显示地图,具有谷歌地图的大部分功能,但使用此自定义图像,无需连接即可获取地图图块。我正在寻找的主要内容是一种显示图像的方式,用户可以在其中捏合以缩放、拖动以移动和单击叠加层。我还将尝试根据纬度/经度坐标向地图添加叠加层并显示用户的位置,但这应该不会太难,因为我可以在地图上定义一个纬度/经度点并根据该点计算所有其他点。有谁知道我可以用什么来显示这样的地图?

0 投票
1 回答
8196 浏览

android - Android以最有效的方式将图片上传到服务器

我需要将图像和其他数据(非常类似于带有附件的电子邮件)发送到服务器。我还需要以可靠的方式进行操作,以便在失败时重试等。

服务器是 WCF REST 服务器,我与它进行了许多其他通信(JSON),但刚刚得到了上传图像的新要求。

由于我使用 JSON 将数据发布到我的服务器 - 我在 Android 端使用 GSON 来序列化数据。

到目前为止,这是我实现它的方式(其他一切都以这种方式工作,但我只是从图像开始)

  1. 用户填写活动字段(文本数据)
  2. 用户通过相机意图拍摄一些照片。目前我只使用 1 个文件的图片
  3. 我从 SDCard 拍照,加载/调整大小 - 在 ImageView 上显示并存储在 byte[]
  4. 用户提交 - 我从 byte[] 获取所有数据以及图像并将其放入 Java 对象
  5. 调用 GSON 转换器并序列化对象
  6. 将对象保存到 SQLite
  7. AsyncTask 在 SQLite 中查找记录,打开游标并获取文本
  8. AsyncTask 创建 HttpConnection 并将文本数据发布到我的服务器。
  9. 结束

现在我的问题..显然在#3 - 我用我的字节数组“爆炸” ram。有时我什至觉得我的 Nexus S 变得迟钝。但是通过这样做 - 我避免用许多文件填充 SD 卡或应用程序文件夹。我拍照然后抓住它。下一张图片将覆盖上一张。

步骤#5 很慢。我没有在 GSON 上尝试自定义序列化程序,而是将字节数组序列化为 [1,-100,123,-12] 之类的东西,但我仍然可以使用 Base64 获得更小的大小。它会很慢。我最多可以有20张图片...

第6步没问题。但是对于一定的尺寸(我尝试了 300px 图像),我在 OpenCursor 的第 7 步中开始出现错误

所以,这整件事不是我喜欢的。理想情况下,我希望将所有数据单件上传到服务器。

我在想也许可以将带有时间戳的图像存储在 SD 卡上,并且只将它们的名称存储在 DB 中。比我在发送到服务器之前处理它们。如果成功,我会删除这些图像。这种逻辑会使 SQLite 模式更加复杂,但也许没有更好的方法?!

我想我正在寻找处理图像的最佳实践。如何以最少的内存/CPU使用率执行以下操作:

  1. 拍照片
  2. 显示缩略图
  3. 调整大小
  4. 发送到服务器

编辑1:

目前我正在研究将整个 shizang 作为多部分 MIME 消息上传的可能性。这需要在我的 Android 包中添加一些 JAR。此外,我不确定 Apache 代码加载图像和发送它们的效果如何(我想比我的代码更好) http://okandroidletsgo.wordpress.com/2011/05/30/android-to-wcf-streaming-多部分二进制图像/

而且我将不得不在 WCF 端解析所有这些,因为没有办法使用内置的 .NET 框架来完成。

http://antscode.blogspot.com/2009/11/parsing-multipart-form-data-in-wcf.html

如果您尝试过,请告诉我!

编辑2:

MIME 不好。没有意义,因为它使用 Base64 序列化二进制文件,这是同一件事..

0 投票
2 回答
4482 浏览

android - 缩放 ImageView 的图像,同时将中心点保持在同一位置

我已将预缩放位图设置为 ImageView 的源。然后我ImageView通过matrix.postTranslate(shiftX, shiftY).

现在我想放大/缩小图像,同时将中心保持ImageView在比例之前的位图同一点。

如果我尝试用 放大图像matrix.postScale(zoom, zoom),我想要保持的点(蓝点)会移动到其他位置(紫点)。

我尝试了几种不同的方法将位图移回,但我无法让它正常工作。我知道初始位图大小、ImageView 大小、虚线标记的距离。试图计算所需的移位并在matrix.postTranslate(-zoomshiftX, -zoomshiftY)之后使用,但它没有正确移位。

甚至发现,在 matrix.postScale() 函数和尝试 matrix.postTranslate(-zoomshiftX/zoom, -zoomshiftY/zoom) 之后,底层位图的像素数没有改变 - 但仍然没有运气。

我如何实现这样的缩放?

缩放问题

0 投票
23 回答
298583 浏览

android - Android ImageView 放大和缩小

我想放大和缩小 Android ImageView。我尝试了大多数示例,但在所有示例中,ImageView 本身的图像都在放大和缩小,而我想放大和缩小 ImageView。我想在放大时增加 ImageView 的宽度和高度,并在缩小时减少 ImageView 的宽度和高度。我该如何做到这一点?

0 投票
1 回答
1401 浏览

android - 使用 inSampleSize <2 或以其他方式调整位图大小而不会遇到 OoM

我有带有文本的大型可缩放位图,我想稍微调整一下大小。最简单的方法是使用 inSampleSize,但它的最小值是 2,这是不可接受的(将图像大小调整为一半基本上会使文本不可读)。

createScaledBitmap 工作正常,但是由于 Android 对位图的垃圾收集速度很慢,我有时会在它后面的方法中遇到 OutOfMemory(我在解码后调用 createBitmap)。

所以,我想知道有没有办法减少位图的大小而不是一半并且没有内存问题?

0 投票
5 回答
88221 浏览

android - 放大图像以填充 Android 中的整个 ImageView

我想将图像放大以占据 ImageView 的整个大小。这与使用略有不同,scaleType=fit_center因为如果图像纵横比与 ImageView 的纵横比不完全匹配,fit_center将在图像周围留下条带。相反,我希望图像居中并放大以完全填充封闭的视图,并切掉任何多余的部分。

我可以通过在 onCreate() 期间计算我自己的自定义图像矩阵来实现这一点:

这很好用,但似乎必须有一个更容易的方法。有谁知道一种在 ImageView 中放大图像的方法,同时保留图像的纵横比并完全填充 ImageView?

(注意:在我的情况下,我的 ImageView 占据了全屏,所以我getWindowManager().getDisplay()用来查找所需的图像大小。你不能使用splashView.getWidth()/getHeight()因为视图尚未布局并且没有大小)