Android: ボタンまたはイメージボタンでテキストと画像を組み合わせる 質問する

Android: ボタンまたはイメージボタンでテキストと画像を組み合わせる 質問する

ボタンに画像(背景)を配置し、実行時に何が起きているかに応じて、画像の上または上にテキストを動的に追加しようとしています。

を使用すると、ImageButtonテキストを追加することすらできません。 を使用すると、テキストを追加できますが、定義されているのと同様のXML属性をButton持つ画像のみを定義します。android:drawableBottomここ

ただし、これらの属性はテキストと画像を x 次元と y 次元でのみ結合するため、テキストの周囲に画像を描画することはできますが、テキストの下/下に画像を描画することはできません (z 軸はディスプレイから出てくるように定義されます)。

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

ベストアンサー1

Button異なるファイルから背景、アイコン画像、テキストを 1 つにまとめたいユーザーの場合Button:背景、drawableTop/Bottom/Rigth/Left、およびパディング属性を設定します。

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/home_btn_test"
        android:drawableTop="@drawable/home_icon_test"
        android:textColor="#FFFFFF"
        android:id="@+id/ButtonTest"
        android:paddingTop="32sp"
        android:drawablePadding="-15sp"
        android:text="this is text"></Button>

RelativeLayoutより洗練された配置のために、 (または他のレイアウト)を使用してクリック可能にすることもできます。

チュートリアル:両方のケースをカバーする優れたチュートリアル:http://izvornikod.com/Blog/tabid/82/EntryId/8/Creating-Android-button-with-image-and-text-using-relative-layout.aspx

おすすめ記事