ImageView ImageButton一、基础控件区分1. ImageView作用专门展示图片默认只是图像展示无交互样式。ImageView android:idid/iv_test android:layout_width100dp android:layout_height100dp android:srcdrawable/ic_icon !-- 设置图片资源 -- android:scaleTypecenterCrop/2. ImageButton继承ImageView图片型按钮ImageButton 具有按钮交互语义默认样式通常包含背景或按压反馈但具体效果取决于应用主题。ImageButton android:idid/ibtn_test android:layout_width100dp android:layout_height100dp android:srcdrawable/ic_icon/二、核心属性android:src设置图片资源推荐android:background设置背景⚠️区别 src图片本身会受scaleType缩放控制 background底层背景不受scaleType影响。scaleType图片缩放模式高频fitXY拉伸填满控件比例会失真centerCrop等比缩放铺满控件超出部分裁剪最常用centerInside完整显示图片不裁剪不拉伸三、ImageView 和 ImageButton 核心区别ImageView纯图片展示无默认点击波纹可以设置点击事件但没有按压视觉效果。ImageButton图像按钮自带默认背景按压效果用于交互。开发小技巧 如果想要一张图片充当按钮不想要默认按钮底色优先用ImageView setOnClickListener而不是ImageButton。四、需求图像文字一起显示方案1Button搭配drawable普通Button文字上下/左右附带图片无需嵌套布局Button android:layout_widthwrap_content android:layout_heightwrap_content android:text相册 android:drawableStartdrawable/ic_photo !-- 左侧图片 -- android:drawablePadding6dp/ !-- 图文间距 --可用属性drawableTop/drawableBottom/drawableRight方案2布局嵌套自由排版ConstraintLayout/LinearLayout 包裹 ImageView TextViewLinearLayout android:layout_widthwrap_content android:layout_heightwrap_content android:orientationvertical ImageView android:layout_width60dp android:layout_height60dp android:srcmipmap/ic_icon/ TextView android:layout_widthwrap_content android:layout_heightwrap_content android:text图片下方文字/ /LinearLayout五、选型速记只显示图片 →ImageView图片充当按钮、需要按压效果 → ImageButton 或 ImageView绑定点击事件图片文字按钮→ 优先使用Button的drawable属性代码最少⚠️常见坑ImageButton默认有灰色背景想要透明需要设置android:backgroundnullsrc和background不要混用混淆缩放属性scaleType只作用于src大图直接加载容易OOM项目中建议使用Glide等图片框架需要我把图文按钮那一段给你一份可直接复制的完整运行xml示例吗