我分不清ImageView.ScaleType.CENTER_INSIDE
和ImageView.ScaleType.FIT_CENTER
之间的区别。
CENTER_INSIDE
等比例缩放图像(保持图像的纵横比),以使图像的两个维度(宽度和高度)都小于或等于视图对应维度的大小(减去填充)。
FIT_CENTER
计算一个缩放比例,以保持原始src的纵横比,并确保src完全适合dst。至少有一个轴(X或Y)会完全适合。结果位于dst的中心。
有人可以阐明两者之间的区别吗?
我分不清ImageView.ScaleType.CENTER_INSIDE
和ImageView.ScaleType.FIT_CENTER
之间的区别。
CENTER_INSIDE
等比例缩放图像(保持图像的纵横比),以使图像的两个维度(宽度和高度)都小于或等于视图对应维度的大小(减去填充)。
FIT_CENTER
计算一个缩放比例,以保持原始src的纵横比,并确保src完全适合dst。至少有一个轴(X或Y)会完全适合。结果位于dst的中心。
有人可以阐明两者之间的区别吗?
无论是还是,都会缩小图像。
不会放大图像,会放大图像。
Android机器人是根据Google创建和共享的作品修改而来,并根据创意commons 3.0属性许可描述的条款使用。
FIT_CENTER会确保源图像完全适合容器内,同时水平或垂直轴将精确匹配其中一个轴。
CENTER_INSIDE会将图像居中放置在容器内,而不是使边缘完全匹配。
因此,如果您有一个边长为10英寸的正方形盒子和一个边长为8英寸的图像,则CENTER_INSIDE将位于盒子的正中间,源图像与目标容器之间有2英寸的间隙。
使用FIT_CENTER时,与上面示例相同的图像将适合整个容器,因为两侧相等,而一个轴将匹配目标。如果您有一个5英寸x 10英寸的盒子和一个5英寸x 7英寸的图像,则图像将按比例缩放,因此将拟合其中一个轴,但仍将图像居中放置在目标内部。
它们很相似,但一个目的是使源图像尽可能填充目标区域,而另一个仅将图像居中放置在目标区域内��
希望这能稍微澄清一下。
FIT_CENTER
声明“至少有一个轴(X或Y)将完全适合”。这是否意味着两者做相同的事情? - Christopher PerryCENTER_INSIDE
会将其缩小,因此也变得不必要复杂。其他答案正确且更简洁地解释了这一点。 - Livven如果图像大于容器,则它们是相同的。如果图像小于容器,CENTER_INSIDE不会将图像放大,而FIT_CENTER会。