2013-06-23 41 views
0

我需要獲取所有已安裝應用程序的圖標。爲此,我使用這種方法getPackageManager().getApplicationIcon(appPackageName),但我得到不同大小的圖標。我瀏覽了很多關於此的主題。有一個選項可以使用這個方法public Drawable getFullResIcon(Resources resources, int iconId),但它只適用於android 3.0及更高版本,但我需要從2.1到4.2。我也嘗試使用Uri.parse("android.resource://com.my.package/" + R.drawable.icon)獲取圖標,但我沒有找到足夠的信息。還有一些選項可以將大圖標壓縮到所需的大小,但圖像質量會丟失。現在我想問你:誰知道如何獲得相同大小的已安裝應用程序的圖標?如何獲取相同尺寸的應用程序圖標?

回答

2

PackageManager.getApplicationIconApplicationInfo.loadIcon在應用程序中返回具有原始大小的圖標。

如果某個應用程序的圖標大小錯誤(不等於48x48 dp),則無法執行此操作。

然而,您可以定義您的ImageView以顯示您定義大小的圖標。只需在您的xml中使用android:layout_width="48dp" android:layout_height="48dp"而不是通常的wrap_content

1

你可能想看看視圖下的api演示。然後去網格;有一些例子可以幫助你。