Button with image,ImageButton和Clickable ImageView之间的区别?

时间:2012-02-23 20:08:35

标签: android button imagebutton

Button与图片,ImageButton和可点击ImageView之间是否存在差异?

5 个答案:

答案 0 :(得分:84)

这可能只涵盖了部分差异,实际查看Android源代码树以查看究竟发生了什么将会有所帮助。

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

它们都源自视图,但查看以下扩展链可能会有所帮助。

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

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

答案 1 :(得分:12)

差异可能很微妙。理解这一点的最直接方法是从查看文档开始。如果您查看docs for Button,可以看到Button来自TextView。另一方面,ImageButton来自ImageView。因此,从根本上说,Button可以有文字并且可以点击,而ImageButton在设置图像方面更灵活一些。它有ImageView基类的方法,如setImageURIButton没有。这两者之间的区别之一是普通ImageView,您可以使用按钮状态,这些状态在ButtonImageButton文档中都有说明。

答案 2 :(得分:9)

ImageView = Display Images (android:src)

ImageButton = Diaplay imageViewget click的图片效果为按钮(android:src),无法为其设置文字。

Button = set text and (android:background)

答案 3 :(得分:4)

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

答案 4 :(得分:0)

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