0

コンテキストメニューのヘッダーでアイコンのサイズを設定するにはどうすればよいですか?

ここに画像の説明を入力してください

アイコンは、ContextMenu.setHeaderIcon(int iconRes)を介して設定されます。

4

1 に答える 1

1

他の誰かが同じ問題に直面した場合に備えて、私は最終的に次の方法でそれを実装しました。

Drawableと希望の幅と高さをパラメータとして取るジェネリックメソッドを作成しました。(Bitmap)Drawable指定された仕様に基づいてスケーリングされたものを返します。

public Drawable getScaledIcon( Drawable drawable, int dstWidth, int dstHeight ) {

    Bitmap bitmap = ( (BitmapDrawable) drawable ).getBitmap();
    Bitmap bitmapScaled = Bitmap.createScaledBitmap( bitmap, dstWidth, dstHeight, false );

    return new BitmapDrawable( getResources(), bitmapScaled );
}

コンテキストメニューのヘッダーアイコンを設定する方法は、パラメータとして、viaContextMenu.setHeaderIcon(int iconRes)またはDrawableviaのリソースIDを取りますContextMenu.setHeaderIcon(Drawable icon)

後者を組み合わせて使用getScaledIcon(...)​​すれば完了です。:)

于 2013-01-27T23:13:02.543 に答える