图像按钮、图像按钮和可点击图像视图之间的区别?

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

31774 次浏览

这可能只覆盖了一部分的差异,实际看看 Android 源代码树会有所帮助,看看到底发生了什么。

ImageButtons 具有推送状态,而可单击图像则没有。 您也不能为 ImageButton 调用 setText,但可以使用常规按钮。

它们都来源于视图,但是查看下面的扩展链可能会有所帮助。

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

VS

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

区别可能很微妙。要理解这一点,最直接的方法是从查看文档开始。如果你看看 TextView2,你会发现 Button是从 TextView派生出来的。另一方面,TextView3是从 ImageView衍生出来的。所以从根本上说,Button可以有文本并且可以点击,而 ImageButton在设置图像方面更灵活一些。它有来自 ImageView基类的方法,比如 setImageURI,而 Button没有。这两者之间的区别之一是,您可以有按钮状态,这在 ButtonImageButton文档中都有解释。

ImageView = Display Images (android:src)

ImageButton = Diaplay图像作为 imageViewget click效果作为按钮 (android:src),无法设置文本到它。

Button = set text and (android:background)

前面的答案中没有提到的另一个方面是(例如)列表项视图中的用法。如果嵌入了 Button 或 ImageButton,则列表项的其余部分将不会接收触摸事件。但是如果你使用 ImageView,它会。

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