Button
与图片,ImageButton
和可点击ImageView
之间是否存在差异?
答案 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
基类的方法,如setImageURI
,Button
没有。这两者之间的区别之一是普通ImageView
,您可以使用按钮状态,这些状态在Button
和ImageButton
文档中都有说明。
答案 2 :(得分:9)
ImageView = Display Images (android:src)
ImageButton = Diaplay
imageView
和get 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;