我有一个ImageView
,其中有:
android:layout_height="100dp"
android:layout_width="wrap_content"
android:scaleType="fitCenter"
android:adjustViewBounds="true"
我看到的是,如果我设置的图像具有尺寸(基于我的电脑的信息)1280px854
如果我在电脑上打开它,图像看起来会很大。
尽管我已设置ImageView
,但在我的wrap_content
中,该图像还是很小的。
我不确定我如何运作。例如。 1280/4 = 320dpi(xxxhdpi),但对于wrap_content
,图像视图的宽度不如320dpi
需要说明的是:我试图理解为什么它会那样工作,而不能通过wrap_content
使其变大。
答案 0 :(得分:1)
首先,让我们谈谈图像的比例。它的宽度为1280px,高度为854px,因此其比例为 1280/854≈3/2 。
第二,您已经将ImageView
的高度设置为100dp
。如果未指定宽度,则android将尽力感知比率(3/2)并计算宽度:
ratio = width/height
3/2 = width/100
width = 150dp
请注意,它给了我们dp
,如果我们改为插入px
(针对高度),它将给我们px。
第三,现在我们有了图像的大小(150dp x 100dp),width='wrap_content'
的imageView的宽度将对应于150dp
答案 1 :(得分:0)
解决方案是设置android:layout_height="wrap_content"
,因为layout_height中的100dp限制了图像宽度的“增长”。
答案 2 :(得分:0)
此属性:
android:scaleType="fitCenter"
表示将保留图像的原始宽高比。
您想用ImageView
使该图像适合:
android:layout_height="100dp"
因此,由于您限制了图像的高度,因此,如果图像的高度大于100dp,它将缩小到该高度,并且其宽度将按比例缩小。