summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndrew Flynn <flynn@google.com>2012-03-07 17:04:57 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2012-03-07 17:04:57 -0800
commit633f1aad55aea7afbefd8409ccfd1f693b27870b (patch)
treec0ed8c754aff5efa62aafadf3ff6a1bb1623a054 /src
parent9e371e95f1348041abdd9b197f7ad8a9c2bcb766 (diff)
parent989dc51400f4511e8411b0f1e6c525c024fbb949 (diff)
downloadandroid_packages_apps_Trebuchet-633f1aad55aea7afbefd8409ccfd1f693b27870b.tar.gz
android_packages_apps_Trebuchet-633f1aad55aea7afbefd8409ccfd1f693b27870b.tar.bz2
android_packages_apps_Trebuchet-633f1aad55aea7afbefd8409ccfd1f693b27870b.zip
am 989dc514: am bc239a15: Scale icons down for sw600dp-land mode.
* commit '989dc51400f4511e8411b0f1e6c525c024fbb949': Scale icons down for sw600dp-land mode.
Diffstat (limited to 'src')
-rw-r--r--src/com/android/launcher2/BubbleTextView.java2
-rw-r--r--src/com/android/launcher2/CellLayout.java67
2 files changed, 42 insertions, 27 deletions
diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java
index b41a02e1e..623c6ff0b 100644
--- a/src/com/android/launcher2/BubbleTextView.java
+++ b/src/com/android/launcher2/BubbleTextView.java
@@ -295,7 +295,7 @@ public class BubbleTextView extends TextView {
}
// If text is transparent, don't draw any shadow
- if (getCurrentTextColor() == android.R.color.transparent) {
+ if (getCurrentTextColor() == getResources().getColor(android.R.color.transparent)) {
getPaint().clearShadowLayer();
super.draw(canvas);
return;
diff --git a/src/com/android/launcher2/CellLayout.java b/src/com/android/launcher2/CellLayout.java
index bbb0d7f9f..1aaba6db9 100644
--- a/src/com/android/launcher2/CellLayout.java
+++ b/src/com/android/launcher2/CellLayout.java
@@ -138,6 +138,7 @@ public class CellLayout extends ViewGroup {
private boolean mIsHotseat = false;
private final int mBubbleScalePercent;
+ private final int mBubbleHotseatScalePercent;
public CellLayout(Context context) {
this(context, null);
@@ -184,7 +185,8 @@ public class CellLayout extends ViewGroup {
mNormalBackground.setFilterBitmap(true);
mActiveGlowBackground.setFilterBitmap(true);
- mBubbleScalePercent = res.getInteger(R.integer.app_icon_hotseat_scale_percent);
+ mBubbleScalePercent = res.getInteger(R.integer.app_icon_scale_percent);
+ mBubbleHotseatScalePercent = res.getInteger(R.integer.app_icon_hotseat_scale_percent);
// Initialize the data structures used for the drag visualization.
@@ -585,6 +587,34 @@ public class CellLayout extends ViewGroup {
return addViewToCellLayout(child, index, childId, params, markCells, false);
}
+ private void scaleChild(BubbleTextView bubbleChild, float pivot, int scalePercent) {
+ // If we haven't measured the child yet, do it now
+ // (this happens if we're being dropped from all-apps
+ if (bubbleChild.getLayoutParams() instanceof LayoutParams &&
+ (bubbleChild.getMeasuredWidth() | bubbleChild.getMeasuredHeight()) == 0) {
+ getChildrenLayout().measureChild(bubbleChild);
+ }
+ int measuredWidth = bubbleChild.getMeasuredWidth();
+ int measuredHeight = bubbleChild.getMeasuredHeight();
+
+ float scale = scalePercent / 100f;
+ bubbleChild.setPivotX(pivot);
+ bubbleChild.setPivotY(pivot);
+ bubbleChild.setScaleX(scale);
+ bubbleChild.setScaleY(scale);
+ bubbleChild.setTranslationX(measuredWidth * (1 - scale) / 2);
+ bubbleChild.setTranslationY(measuredHeight * (1 - scale) / 2);
+ }
+
+ private void resetChild(BubbleTextView bubbleChild) {
+ bubbleChild.setScaleX(1f);
+ bubbleChild.setScaleY(1f);
+ bubbleChild.setTranslationX(0f);
+ bubbleChild.setTranslationY(0f);
+
+ bubbleChild.setTextColor(getResources().getColor(R.color.workspace_icon_text_color));
+ }
+
public boolean addViewToCellLayout(View child, int index, int childId, LayoutParams params,
boolean markCells, boolean allApps) {
final LayoutParams lp = params;
@@ -596,32 +626,17 @@ public class CellLayout extends ViewGroup {
if (child instanceof BubbleTextView) {
BubbleTextView bubbleChild = (BubbleTextView) child;
- if (mIsHotseat && !allApps && mBubbleScalePercent >= 0) {
- // If we haven't measured the child yet, do it now
- // (this happens if we're being dropped from all-apps
- if ((bubbleChild.getMeasuredWidth() | bubbleChild.getMeasuredHeight()) == 0) {
- getChildrenLayout().measureChild(bubbleChild);
- }
- int measuredWidth = bubbleChild.getMeasuredWidth();
- int measuredHeight = bubbleChild.getMeasuredHeight();
-
- float bubbleScale = mBubbleScalePercent / 100f;
- bubbleChild.setPivotX(0);
- bubbleChild.setPivotY(0);
- bubbleChild.setScaleX(bubbleScale);
- bubbleChild.setScaleY(bubbleScale);
- bubbleChild.setTranslationX(measuredWidth * (1 - bubbleScale) / 2);
- bubbleChild.setTranslationY(measuredHeight * (1 - bubbleScale) / 2);
-
- bubbleChild.setTextColor(android.R.color.transparent);
- } else {
- bubbleChild.setScaleX(1f);
- bubbleChild.setScaleY(1f);
- bubbleChild.setTranslationX(0f);
- bubbleChild.setTranslationY(0f);
+ // Start the child with 100% scale and visible text
+ resetChild(bubbleChild);
+
+ if (mIsHotseat && !allApps && mBubbleHotseatScalePercent >= 0) {
+ // Scale/make transparent for a hotseat
+ scaleChild(bubbleChild, 0f, mBubbleHotseatScalePercent);
- bubbleChild.setTextColor(
- getResources().getColor(R.color.workspace_icon_text_color));
+ bubbleChild.setTextColor(getResources().getColor(android.R.color.transparent));
+ } else if (mBubbleScalePercent >= 0) {
+ // Else possibly still scale it if we need to for smaller icons
+ scaleChild(bubbleChild, 0f, mBubbleScalePercent);
}
}