6

このコード

final ApplicationInfo ai = getPackageManager().getApplicationInfo("com.company.hello", 0);
final Drawable d = getPackageManager().getApplicationIcon(ai);

高密度のHoneyCombデバイスでも 48x48 (mdpi) のドローアブルを取得します。

Bitmap.createScaledBitmapでドローアブルを拡大できることを考えると、既に存在する高密度アイコンを抽出する方法を尋ねています。メソッドgetDrawableForDensityは 15 未満の SDK では使用できませんが、パッケージで無料で利用できる場合、描画する必要がある各アイコンのスケーリング関数を呼び出すのは面倒です。

賞金のために編集

デバイスの表示密度をしばらく忘れて、質問は次のとおりです。関連するhdpi resフォルダーに72x72のアイコンがあることが確実にわかっている独自のパッケージが与えられた場合、このアイコンを別のパッケージから抽出するにはどうすればよいですか?

この関数は、ハニカム環境では使用できません。

4

1 に答える 1

1

適切な密度でドローアブルを直接見つけるには、これを試すだけです:

mContext.getResources().getDrawable(R.drawable.mydrawable);

何が問題ですか?Androidが48x48のアイコンを取得した場合、それは適切なアイコンであるか、適切な res/drawable- フォルダーにアイコンを設定していません。

于 2013-01-22T13:59:12.603 に答える