Button
with image、ImageButton
、およびクリック可能なImageView
に違いはありますか?
これはおそらく違いの一部のみをカバーしているので、実際にAndroidソースツリーを見て正確に何が起こっているのかを確認すると役立ちます。
ImageButtonsにはプッシュ状態がありますが、クリック可能な画像にはありません。 ImageButtonのsetTextを呼び出すことも、通常のボタンを使用して呼び出すこともできません。
これらはすべてビューから派生していますが、次の拡張チェーンを見ると少し役立つかもしれません。
Java.lang.Object
↳ Android.view.View
↳ Android.widget.ImageView
↳ Android.widget.ImageButton
versus
Java.lang.Object
↳ Android.view.View
↳ Android.widget.TextView
↳ Android.widget.Button
違いは微妙です。これを理解する最も直接的な方法は、ドキュメントを見ることから始めることです。 Buttonのドキュメント を見ると、Button
がTextView
から派生していることがわかります。 ImageButton
一方、ImageView
から派生します。基本的に、Button
はテキストを持つことができ、クリック可能ですが、ImageButton
は画像の設定方法が少し柔軟です。 ImageView
にはないsetImageURI
のようなButton
基本クラスのメソッドがあります。これら2つと単なるImageView
の違いの1つは、Button
とImageButton
の両方のドキュメントで説明されているボタンの状態を持つことができることです。
ImageView = Display Images (Android:src)
ImageButton = Diaplay
としての画像imageView
およびget click
はボタン(Android:src)
として効果があり、テキストを設定できません。
Button = set text and (Android:background)
前の回答で言及されていないもう1つの側面は、リストアイテムビュー内での使用方法です。 ButtonまたはImageButtonを埋め込んだ場合、リストアイテムの残りはタッチイベントを受け取りません。ただし、ImageViewを使用する場合は使用します。
button instanceof ImageButton == false;
imageButton instanceof Button == false;
button instanceof TextView == true;
imageButton instanceof ImageView == true;