1.繼承不同:
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 不支援setText,而Button支援。反之,ImageButton 支援setImageURI,而Button不支援。Button和ImageButton有Button的狀態,但是ImageView沒有。
2.顯示差異:
imageView 加上可點擊的屬性同樣實現button的點擊功能,這樣看來沒啥區別,可是可是,最近我做的listView,一個imagebutton,一個imageView 顯示圓角圖片的時候,imageBotton 居然顯示不出來.
ImageButton 擁有預設背景:
<style name="Widget.ImageButton"> <item name="android:focusable">true</item> <item name="android:clickable">true</item> <item name="android:scaleType">center</item> <item name="android:background">@android:drawable/btn_default</item> </style>
去除ImageButton預設背景的方法:
<!-- layout_width和layout_height屬性必須是wrap_content,否則邊框還是會顯示 --><ImageButton android:id="@+id/ibLogin" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/btn_login" android:adjustViewBounds="true" android:padding="0dp"/>
引文:
http://blog.csdn.net/zapzqc/article/details/8497210
http://www.androidlearner.net/android-delete-whiteframe-imagebutton.html