diff options
author | Danesh M <daneshm90@gmail.com> | 2014-05-30 09:21:01 -0700 |
---|---|---|
committer | Danesh M <daneshm90@gmail.com> | 2014-05-30 11:02:15 -0700 |
commit | 8963aaad4bfeb330d7176d6adf3668fe5e559964 (patch) | |
tree | d17fed4843c6b5a93364b66474c5812b208dd413 /src/org/cyanogenmod | |
parent | e71277d54ac0360af1cd145b14b6f5fc87c4f5e2 (diff) | |
download | packages_apps_ThemeChooser-8963aaad4bfeb330d7176d6adf3668fe5e559964.zip packages_apps_ThemeChooser-8963aaad4bfeb330d7176d6adf3668fe5e559964.tar.gz packages_apps_ThemeChooser-8963aaad4bfeb330d7176d6adf3668fe5e559964.tar.bz2 |
ThemeChooser : Scale iconSize in previews
- Use FIT_CENTER to ensure the icon is scaled within bounds
- Set weight property to ensure even space distribution
- Set default icon size on the resulting icon drawable
Change-Id: I83ff2bac5bf0aad739f39e0c0b4aff20c231c5d4
Diffstat (limited to 'src/org/cyanogenmod')
3 files changed, 11 insertions, 4 deletions
diff --git a/src/org/cyanogenmod/theme/chooser/ChooserBrowseFragment.java b/src/org/cyanogenmod/theme/chooser/ChooserBrowseFragment.java index 897b489..ff6e11e 100644 --- a/src/org/cyanogenmod/theme/chooser/ChooserBrowseFragment.java +++ b/src/org/cyanogenmod/theme/chooser/ChooserBrowseFragment.java @@ -441,14 +441,15 @@ public class ChooserBrowseFragment extends Fragment mIconViewGroup.removeAllViews(); for (IconInfo info : icons) { - LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(0, LayoutParams.WRAP_CONTENT); + lparams.weight = 1f / icons.size(); ImageView imageView = new ImageView(mContext); int padding = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 8, mContext.getResources().getDisplayMetrics()); imageView.setPadding(padding, 0, padding, 0); imageView.setLayoutParams(lparams); - imageView.setScaleType(ImageView.ScaleType.CENTER); + imageView.setScaleType(ImageView.ScaleType.FIT_CENTER); imageView.setImageDrawable(info.icon); mIconViewGroup.addView(imageView); } diff --git a/src/org/cyanogenmod/theme/chooser/WallpaperAndIconPreviewFragment.java b/src/org/cyanogenmod/theme/chooser/WallpaperAndIconPreviewFragment.java index 2009ead..74fa3f3 100644 --- a/src/org/cyanogenmod/theme/chooser/WallpaperAndIconPreviewFragment.java +++ b/src/org/cyanogenmod/theme/chooser/WallpaperAndIconPreviewFragment.java @@ -200,14 +200,15 @@ public class WallpaperAndIconPreviewFragment extends Fragment mIconContainer.removeAllViews(); for (IconInfo info : infos) { - LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, + LinearLayout.LayoutParams lparams = new LinearLayout.LayoutParams(0, LayoutParams.WRAP_CONTENT, 1f); + lparams.weight = 1f / infos.size(); TextView tv = new TextView(loader.getContext()); tv.setShadowLayer(SHADOW_LARGE_RADIUS, 0.0f, SHADOW_Y_OFFSET, SHADOW_LARGE_COLOUR); tv.setTextColor(Color.WHITE); tv.setGravity(Gravity.CENTER_HORIZONTAL); tv.setLayoutParams(lparams); - tv.setCompoundDrawablesWithIntrinsicBounds(null, info.icon, null, null); + tv.setCompoundDrawables(null, info.icon, null, null); tv.setText(info.name); mIconContainer.addView(tv); diff --git a/src/org/cyanogenmod/theme/util/IconPreviewHelper.java b/src/org/cyanogenmod/theme/util/IconPreviewHelper.java index 2da8a57..793c42d 100644 --- a/src/org/cyanogenmod/theme/util/IconPreviewHelper.java +++ b/src/org/cyanogenmod/theme/util/IconPreviewHelper.java @@ -47,6 +47,7 @@ public class IconPreviewHelper { private int mIconDpi = 0; private String mThemePkgName; private IconPackHelper mIconPackHelper; + private int mIconSize; /** * @param themePkgName - The package name of the theme we wish to preview @@ -62,6 +63,7 @@ public class IconPreviewHelper { try { mIconPackHelper.loadIconPack(mThemePkgName); } catch (NameNotFoundException e) {} + mIconSize = (int) (am.getLauncherLargeIconSize() * ICON_SCALE_FACTOR); } /** @@ -103,6 +105,9 @@ public class IconPreviewHelper { if (icon == null) { icon = getIconNoTheme(packageName, activityName); } + if (icon != null) { + icon.setBounds(0, 0, mIconSize, mIconSize); + } return icon; } |