コンテキストメニューのヘッダーでアイコンのサイズを設定するにはどうすればよいですか?
アイコンは、ContextMenu.setHeaderIcon(int iconRes)を介して設定されます。
コンテキストメニューのヘッダーでアイコンのサイズを設定するにはどうすればよいですか?
アイコンは、ContextMenu.setHeaderIcon(int iconRes)を介して設定されます。
他の誰かが同じ問題に直面した場合に備えて、私は最終的に次の方法でそれを実装しました。
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)
またはDrawable
viaのリソースIDを取りますContextMenu.setHeaderIcon(Drawable icon)
。
後者を組み合わせて使用getScaledIcon(...)
すれば完了です。:)