【问题标题】:Displaying Bitmaps for different screensizes android显示不同屏幕尺寸的位图android
【发布时间】:2012-06-20 19:10:21
【问题描述】:
  • 我有一个 ListView,每一行都有一个 ImageView。

  • 这些图像在单独的线程中下载,然后附加到 UI 线程中的 ImageViews。

  • 我正在下载的图像是 92 X 136 像素。我正在使用 BitmapFactory 将这些图像缩小到 50 X 100 像素。

  • 我希望这些图像在不同的屏幕尺寸下看起来尺寸相同。我知道这些图像在密度较高的屏幕上看起来会更小,而在密度较低的屏幕上它们看起来会更大。

  • 通常我们会将这些图像放在 mdpi、hdpi 等文件夹中,但在这种情况下,图像是动态下载并以编程方式缩放的。

    有人能指出我应该做什么的正确方向吗?我不需要任何代码......只是一些算法应该做......

【问题讨论】:

    标签: android bitmap


    【解决方案1】:

    一种方法是像这样在 DP 中缩放:

    int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, <HEIGHT>, getResources().getDisplayMetrics());
    

    另一种方法是在 dp 中硬编码 imageView 上的尺寸或在获取屏幕指标并计算要填充的宽度/高度的某个百分比后以编程方式分配其高度宽度(尽管我认为在布局中仅使用固定 dp就足够了,如果需要,您可以使用值/尺寸来标记视图的大小)。并为 imageView 分配一个像 fitXYcenterCrop 这样的 scaleType 以填充整个内容区域。

    【讨论】:

      【解决方案2】:

      也许在文件夹中的 xml 中定义 ImageView 的大小以获得适当的密度,并在那里设置像 fitXY 这样的 scalingType 属性?

      【讨论】:

        猜你喜欢
        • 2017-03-28
        • 1970-01-01
        • 2017-11-15
        • 2018-03-11
        • 2015-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多