CENTER_INSIDE和FIT_CENTER刻度types有什么区别?
我无法区分ImageView.ScaleType.CENTER_INSIDE
和ImageView.ScaleType.FIT_CENTER
之间的区别。
CENTER_INSIDE
均匀缩放图像(保持图像的宽高比),使图像的两个尺寸(宽度和高度)等于或小于视图的相应尺寸(减去填充)。
FIT_CENTER
计算一个将保持原始src宽高比的比例,但也将确保src完全适合dst。 至less有一个轴(X或Y)将完全适合。 结果集中在dst中。
有人能说明两者的区别吗?
FIT_CENTER将确保源完全适合容器内部,并且水平轴或垂直轴将是准确的。
CENTER_INSIDE将会将图像放在容器中间,而不是使边缘完全匹配。
所以如果你有一个10“×10”的方形盒子和一个8“×8”的图像,CENTER_INSIDE将直接在盒子的中间,在源容器和目标容器之间有2“。
使用FIT_CENTER,来自上面示例的相同图像将适合整个容器,因为边是相等的,并且一个轴将与目的地相匹配。 使用FIT_CENTER时,如果您有一个5英寸x 10英寸的盒子和一个5英寸x 7英寸的图像,图像将按比例缩放,因此其中一个轴会适合,但仍然会将图像置于目的地。
它们是相似的,但是一个是为了尽可能地填充目的地,另一个只是将图像集中在目的地内。
希望澄清一点
下面是CENTER_INSIDE
和FIT_CENTER
之间CENTER_INSIDE
FIT_CENTER
。
使用的图像(100×100):
小图像视图(75×50):
CENTER_INSIDE:
FIT_CENTER:
CENTER_INSIDE
和FIT_CENTER
缩小图像。
大图像查看(300×200):
CENTER_INSIDE:
FIT_CENTER:
CENTER_INSIDE
不放大图像, FIT_CENTER
。
Android机器人根据Google创build和共享的作品进行复制或修改,并根据Creative Commons 3.0 Attribution License中所述的条款进行使用。
如果图像大于容器,则它们是相同的。 如果图像较小,则容器CENTER_INSIDE不会在FIT_CENTER将缩小图像的情况下。