ImageView/ImageButton 中的 srcCompat 和背景有什么不同

问题描述 投票:0回答:3

我在RelativeLayout中有一个ImageView。 ImageView 的背景是空的,srcCompat 链接到我的可绘制文件夹中的图像。在布局预览中,一切看起来都很好,但是当我在模拟器或真实智能手机中测试应用程序时,我的 ImageView 是空的,我看不到所选的图像。当我将背景属性链接到可绘制文件夹中的图像并从 srcCompat 中删除该条目时,应用程序将显示我的图片。问题是如果将图像设置为 ImageView 的背景,我将无法缩放图像。有人能帮我吗? 谢谢并抱歉我的英语不好!

android android-layout imageview
3个回答
2
投票

区别在于

srcCompat
是ImageView的实际内容。例如,您可以将
backgroundColor
设置为红色,并为您的
srcCompat
提供可绘制对象。结果将是红色背景和其上方给定的可绘制对象。

希望这有帮助。


0
投票

使用

src
代替
srcCompat
。因为 srcCompat 属性实际上是在 AppCompat 库中定义的。 了解更多详情


0
投票

src兼容: srcCompat 用于设置显示图像的视图(例如ImageView)的图像资源。它主要用于与矢量绘图格式 (SVG) 兼容,该格式可在不同屏幕密度和分辨率下提供可扩展性,而不会降低质量。 当您使用 srcCompat 时,您可以引用可绘制目录中的矢量可绘制对象。 Android 的支持库(或 AndroidX 库)处理与不直接支持矢量绘图的旧版本 Android 的兼容性。

背景: 背景用于设置视图的可绘制背景。它不仅限于图像;它可用于设置纯色、渐变或任何其他可绘制的颜色。 您可以引用各种可绘制资源,例如@drawable/some_background、@color/some_color或@drawable/some_selector(用于基于状态的背景)。

总而言之,srcCompat专门用于设置图像资源,支持矢量drawables,而background用于设置背景drawables,可以包括图像、颜色或其他drawable资源。

© www.soinside.com 2019 - 2024. All rights reserved.