Android: ボタンやイメージボタンのテキストとイメージの組み合わせ

ボタンに(背景として)画像を表示し、実行時の状況に応じて、画像の上や上にテキストを動的に追加しようとしています。

ImageButtonを使うと、テキストを追加することさえできません。 ボタンを使うと、テキストを追加できますが、android:drawableBottomや、ここで定義されているような同様のXML属性を持つイメージを定義するだけです。

つまり、テキストの周りに画像を描くことはできますが、テキストの下や下には描けません(z軸はディスプレイの外に出るように定義されています)。

これを実現する方法について、何か提案はありますか?ひとつのアイデアは、ButtonまたはImageButtonを拡張して、draw()メソッドをオーバーライドすることです。しかし、私の現在の知識レベルでは、この方法(2Dレンダリング)をどうすればいいのかよくわかりません。もしかしたら、もっと経験のある方が解決策を知っているかもしれませんし、少なくとも開始するためのヒントがあるかもしれません。

背景、アイコン画像、テキストを1つの ボタン にまとめたい場合に使用します。ボタン`の背景、drawableTop/Bottom/Rigth/Left、padding属性に設定します。

より洗練された配置にするには、RelativeLayoutを使用して、クリックできるようにすることもできます。

Tutorial: 両方のケースをカバーした素晴らしいチュートリアル: http://izvornikod.com/Blog/tabid/82/EntryId/8/Creating-Android-button-with-image-and-text-using-relative-layout.aspx

解説 (9)

この問題には、もっと良い解決策があります。

通常の Button を使い、drawableLeftgravity 属性を使用するだけです。

このようにして、ボタンの左側にアイコンを表示し、アイコンの右側にテキストを表示するボタンが得られます縦方向に中央揃え

解説 (9)
ソリューション

ボタンの背景を設定するには、setBackground()Buttonで呼び出します。

テキストは背景の上に表示されます。

xmlで似たようなものを探しているのであれば、以下のものがあります。 また、xmlで似たようなことをしたい場合は、次のようなものがあります。

解説 (5)