summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Sandler <dsandler@android.com>2012-05-16 12:22:57 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-05-16 12:22:57 -0700
commita25c198ee29182ecda4010a1aaf7b91a564c08e0 (patch)
tree753bf08292ec0115af840133d2c89c4d5de916b0
parent81476537fe9c3749616c022d26fb471f0dbd9a5c (diff)
parent3fd0e1a219e42db90b34b3512a6984d7dd2ebe2c (diff)
downloadframeworks_base-a25c198ee29182ecda4010a1aaf7b91a564c08e0.zip
frameworks_base-a25c198ee29182ecda4010a1aaf7b91a564c08e0.tar.gz
frameworks_base-a25c198ee29182ecda4010a1aaf7b91a564c08e0.tar.bz2
Merge "Properly center and scale the navkey glow." into jb-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
index a00fab3..bb0ce16 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
@@ -52,6 +52,7 @@ public class KeyButtonView extends ImageView {
int mCode;
int mTouchSlop;
Drawable mGlowBG;
+ int mGlowWidth, mGlowHeight;
float mGlowAlpha = 0f, mGlowScale = 1f, mDrawingAlpha = 1f;
boolean mSupportsLongpress = true;
RectF mRect = new RectF(0f,0f,0f,0f);
@@ -89,6 +90,8 @@ public class KeyButtonView extends ImageView {
mGlowBG = a.getDrawable(R.styleable.KeyButtonView_glowBackground);
if (mGlowBG != null) {
setDrawingAlpha(BUTTON_QUIESCENT_ALPHA);
+ mGlowWidth = mGlowBG.getIntrinsicWidth();
+ mGlowHeight = mGlowBG.getIntrinsicHeight();
}
a.recycle();
@@ -103,8 +106,12 @@ public class KeyButtonView extends ImageView {
canvas.save();
final int w = getWidth();
final int h = getHeight();
+ final float aspect = (float)mGlowWidth / mGlowHeight;
+ final int drawW = (int)(h*aspect);
+ final int drawH = h;
+ final int margin = (drawW-w)/2;
canvas.scale(mGlowScale, mGlowScale, w*0.5f, h*0.5f);
- mGlowBG.setBounds(0, 0, w, h);
+ mGlowBG.setBounds(-margin, 0, drawW-margin, drawH);
mGlowBG.setAlpha((int)(mDrawingAlpha * mGlowAlpha * 255));
mGlowBG.draw(canvas);
canvas.restore();