2012-06-20 55 views
0
  • 我有一个ListView,每一行都有一个ImageView。
  • 这些图像在单独的线程中下载,然后附加到UI线程中的ImageView。
  • 我下载的图像是92 X 136 px。我使用BitmapFactory将这些图像缩小到每个像素50 x 100像素。
  • 我希望这些图像在不同的屏幕尺寸下看起来相同。我明白,在高密度屏幕上,这些图像看起来可能更小,而密度更低的屏幕可能看起来更大。
  • 通常情况下,我们会将这些图像放在mdpi,hdpi等文件夹中,但在这种情况下,图像会动态下载并以编程方式进行缩放。显示不同屏幕位图android

    有人可以指出我正确的方向,我应该做什么。我不需要任何代码..只是一些算法中应该做的......

回答

0

的一种方式是在DP比例是这样的:

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

另一种方法是硬编码在ImageView的尺寸以dp或指定其高度得到屏幕指标和计算的一定百分比后programaticaly宽度要填充的宽度/高度(尽管我认为在布局中只使用固定的dp就足够了,如果需要,您可以使用值/维度来标记视图的大小)。然后将一个缩放类型(如fitXYcenterCrop)分配给imageView以填充整个内容区域。

0

也许在XML文件夹中进行适当的密度定义的ImageView的大小,并设置有scalingType属性像fitXY?

相关问题