看过一篇博客说三者有如下区别
java.lang.Object ↳ android.view.View ↳ android.widget.ImageView ↳ android.widget.ImageButton
Java.lang.Object ↳ Android.view.View ↳ android.widget.TextView ↳android.widget.Button
ImageButton 支持src属性 不支持text
ImageView 支持src属性 不支持text
Button 支持text不支持src
代码中他们的差别:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<ImageView
android:layout_width="wrap_content"
android:layout_height="120dp"
android:src="@mipmap/girl"
/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="120dp"
android:src="@mipmap/girl"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我是Button,我支持TextView,他俩不支持"
/>
</LinearLayout>
可以看出ImageButton有button的的特性,以后在写一些图片类的图标的时候可以用ImageButton代替ImageView.
补充 src 于backGround的区别:
src是设置图标,而background只是设置背景。
如果控件的大小是100*100 图片资源是80*80的话,那么用src,图片就会居中显示,如果使用background那么图片就会被拉伸充满控件。
重要的是,background是底层的图片资源,src是覆盖在background上面的资源,他们可以叠加使用,实现选中的效果。在ActivityGroup用到。