2

テキストと drawableTop を持つボタンを作成しようとしています。画面サイズごとにサイズが異なるため、drawableTopを保存された画像の通常のサイズにしたい。高さと幅を match_parent に設定すると、テキストに基づいているように見え、それらをディップ値に設定すると、ボタンのサイズは変更されますが、画像は変更されません。私はscaleXとscaleYを試しましたが、それはテキストのサイズも変更します。これは望ましくありません。

以下を使用していますが、画像は保存されているものよりもはるかに小さく表示されます

<Button
    android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/label"
android:drawableTop="@drawable/my_image" />

自動的にフルサイズに設定される画像でボタンを作成する方法はありますか?

4

2 に答える 2

2

通常の ImageView を使用して、onClickListener または XML onClick プロパティを設定できます。

異なる状態 (押された状態と押されていない状態など) が必要な場合は、xml で定義されたドローアブルを使用してそれらを設定できます。

于 2012-12-18T18:58:59.557 に答える
1

ドキュメントTextView#setCompoundDrawablesWithIntrinsicBoundsでは、次のように述べています。

The Drawables' bounds will be set to their intrinsic bounds.

ただし、ボタンがドローアブルをフルサイズに設定していない理由は、アプリ プロジェクトの間違った res/drawable フォルダーに画像を配置したためです。drawable-xhdpi、drawable-hdpi などの他のドローアブル フォルダーに画像を配置してみてください。画像は異なるサイズで表示されます。このドキュメントSupporting Multiple Screensを確認してください。

于 2012-12-21T07:50:20.827 に答える