Я получаю значки, используя этот Java-код:
Код: Выделить всё
private AppInfo[] loadAppsInfo() {
AppInfo[] appInfo;
PackageManager pm = getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List allApps = pm.queryIntentActivities(intent, 0);
final int count = allApps.size();
appInfo = new AppInfo[count];
for (int i = 0; i < count; i++) {
ResolveInfo ri = allApps.get(i);
ApplicationInfo ai = ri.activityInfo.applicationInfo;
appInfo[i] = new AppInfo(
ai.loadLabel(pm).toString(),
ai.packageName ,
ai.loadIcon(pm)
);
}
Arrays.sort(appInfo);
return appInfo;
}
Код: Выделить всё
AppCompatImageViewscreenshot1
screenshot2
Вызов Drawable.setBounds() для изменения размера значка не имеет никакого эффект.
Когда я вместо этого использую ImageView, он работает отлично, но делает мой код более сложным и тяжелым и может вызвать проблемы при использовании векторных изображений в старых версиях Android.
Есть предложения? Заранее спасибо
Подробнее здесь: https://stackoverflow.com/questions/786 ... -correctly
Мобильная версия