【问题标题】:load Bitmap efficiently when dimension aren't known当维度未知时有效地加载位图
【发布时间】:2014-03-07 20:53:44
【问题描述】:

我通读了documentation,了解如何有效地加载位图,并完美地执行了它来创建缩略图。但是,当我想要加载位图而不是硬编码大小(对于我使用 75x75 dp 的缩略图)的 ImageView 的宽度和高度是环绕内容时会发生什么?

为了更具体: here文档提供了这个功能

decodeSampledBitmapFromResource(Resources res, int resId,int reqWidth,
int reqHeight)

并计算所需宽度和高度的 inSampleSize。我虽然想要获取设备的宽度和高度并减去图像视图的填充,但在我看来这有点像黑客。还有其他方法吗? 感谢您的宝贵时间。

【问题讨论】:

    标签: java android bitmap


    【解决方案1】:

    直接获取视图的宽度/高度,而不是从设备的宽度和高度中计算出来。

    您可以使用myImageView.getHeight()myImageView.getWidth(); 来做到这一点

    http://developer.android.com/reference/android/view/View.html

    [宽度和高度]。这些尺寸定义了屏幕上视图的实际大小,在 绘图时间和布局后。这些值可能,但不一定, 与测量的宽度和高度不同。宽度和高度 可以通过调用getWidth()和getHeight()获得。

    然后使用实际的高度/宽度,您可以有效地获得所需的确切分辨率的位图。

    【讨论】:

    • 这将如何工作,因为我的 imageView 会拉伸直到我正在加载的位图适合?
    • @libathos 会拉伸到适合您的位图吗?将其设置为match_parent 并根据能够容纳的最大空间加载图像。或者指定您自己想要的宽度,并且图像视图将采用相同的大小。
    猜你喜欢
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-18
    • 1970-01-01
    • 2015-08-13
    相关资源
    最近更新 更多