button与图像,ImageButton和可点击的ImageView之间的区别?

Button与图像, ImageButton和可点击的ImageView有什么区别吗?

这大概只包含了一部分差异,但实际上看一下Android Source树来查看究竟发生了什么会有所帮助。

ImageButtons具有推送状态,作为可点击的图像不会。 您也无法为ImageButton调用setText,您可以使用常规button。

他们都是从观点出发,但是看下面的延伸链可能会有所帮助。

 java.lang.Object ↳ android.view.View ↳ android.widget.ImageView ↳ android.widget.ImageButton 

 java.lang.Object ↳ android.view.View ↳ android.widget.TextView ↳ android.widget.Button 

差异可能是微妙的。 理解这个最直接的方法是从看文档开始。 如果你看看Button的文档,你可以看到Button是从TextView派生的。 另一方面ImageButton是从ImageView派生的。 所以基本上,一个Button可以有文本并且是可点击的,而ImageButton在设置图像方面则更加灵活。 它有一个Button基类,像setImageURIButton没有。 这两者之间的区别之一,只是一个普通的ImageView是你可以有button状态,这是在ButtonImageButton文档中解释。

 ImageView = Display Images (android:src) 

ImageButton = Diaplay Images作为ImageButton = Diaplayget click效果作为button(android:src) ,不能设置文本。

 Button = set text and (android:background) 

在以前的答案中没有提到的另一个方面是(例如)列表项视图内的用法。 如果你embedded一个button或图像button,列表项的其余部分将不会收到触摸事件。 但是,如果您使用ImageView,它会。

 button instanceof ImageButton == false; imageButton instanceof Button == false; button instanceof TextView == true; imageButton instanceof ImageView == true;