summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2013-04-19 16:21:24 -0700
committerMichael Kolb <kolby@google.com>2013-04-22 10:23:34 -0700
commitf465110e4b8ed787589e052e5ac746c588c5ac8f (patch)
tree93bd8ff426e419c0f62ea43115ec6da5db3a6ab9 /src/com
parent2429727fc3e751edec61042846ae268ec70ea2e6 (diff)
downloadandroid_packages_apps_Snap-f465110e4b8ed787589e052e5ac746c588c5ac8f.tar.gz
android_packages_apps_Snap-f465110e4b8ed787589e052e5ac746c588c5ac8f.tar.bz2
android_packages_apps_Snap-f465110e4b8ed787589e052e5ac746c588c5ac8f.zip
More menu fixes
Bug: 8660834 Add label dropshadow, reposition fixed menu Adjust dead zone and angle Change-Id: I7d62c03bcdcdec6268ef805f56114327f471b6d7
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/camera/drawable/TextDrawable.java26
-rw-r--r--src/com/android/camera/ui/PieRenderer.java11
2 files changed, 29 insertions, 8 deletions
diff --git a/src/com/android/camera/drawable/TextDrawable.java b/src/com/android/camera/drawable/TextDrawable.java
index ac5f1ce92..60d8719c4 100644
--- a/src/com/android/camera/drawable/TextDrawable.java
+++ b/src/com/android/camera/drawable/TextDrawable.java
@@ -21,6 +21,7 @@ import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorFilter;
import android.graphics.Paint;
+import android.graphics.Typeface;
import android.graphics.Paint.Align;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
@@ -36,6 +37,7 @@ public class TextDrawable extends Drawable {
private CharSequence mText;
private int mIntrinsicWidth;
private int mIntrinsicHeight;
+ private boolean mUseDropShadow;
public TextDrawable(Resources res) {
this(res, "");
@@ -43,9 +45,7 @@ public class TextDrawable extends Drawable {
public TextDrawable(Resources res, CharSequence text) {
mText = text;
- mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
- mPaint.setColor(DEFAULT_COLOR);
- mPaint.setTextAlign(Align.CENTER);
+ updatePaint();
float textSize = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
DEFAULT_TEXTSIZE, res.getDisplayMetrics());
mPaint.setTextSize(textSize);
@@ -53,6 +53,21 @@ public class TextDrawable extends Drawable {
mIntrinsicHeight = mPaint.getFontMetricsInt(null);
}
+ private void updatePaint() {
+ if (mPaint == null) {
+ mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
+ }
+ mPaint.setColor(DEFAULT_COLOR);
+ mPaint.setTextAlign(Align.CENTER);
+ if (mUseDropShadow) {
+ mPaint.setTypeface(Typeface.DEFAULT_BOLD);
+ mPaint.setShadowLayer(10, 0, 0, 0xff000000);
+ } else {
+ mPaint.setTypeface(Typeface.DEFAULT);
+ mPaint.setShadowLayer(0, 0, 0, 0);
+ }
+ }
+
public void setText(CharSequence txt) {
mText = txt;
if (txt == null) {
@@ -73,6 +88,11 @@ public class TextDrawable extends Drawable {
}
}
+ public void setDropShadow(boolean shadow) {
+ mUseDropShadow = shadow;
+ updatePaint();
+ }
+
@Override
public int getOpacity() {
return mPaint.getAlpha();
diff --git a/src/com/android/camera/ui/PieRenderer.java b/src/com/android/camera/ui/PieRenderer.java
index 03c995cb4..bd3c2f76a 100644
--- a/src/com/android/camera/ui/PieRenderer.java
+++ b/src/com/android/camera/ui/PieRenderer.java
@@ -77,7 +77,7 @@ public class PieRenderer extends OverlayRenderer
private static final int MSG_OPENSUBMENU = 2;
protected static float CENTER = (float) Math.PI / 2;
- protected static float RAD20 = (float)(Math.PI /9); // 20 degrees
+ protected static float RAD24 = (float)(24 * Math.PI / 180);
protected static final float SWEEP_SLICE = 0.14f;
protected static final float SWEEP_ARC = 0.23f;
@@ -220,6 +220,7 @@ public class PieRenderer extends OverlayRenderer
mArcRadius = res.getDimensionPixelSize(R.dimen.pie_arc_radius);
mArcOffset = res.getDimensionPixelSize(R.dimen.pie_arc_offset);
mLabel = new TextDrawable(res);
+ mLabel.setDropShadow(true);
mDeadZone = res.getDimensionPixelSize(R.dimen.pie_deadzone_width);
mAngleZone = res.getDimensionPixelSize(R.dimen.pie_anglezone_width);
}
@@ -340,7 +341,7 @@ public class PieRenderer extends OverlayRenderer
private void resetPieCenter() {
mPieCenterX = mCenterX;
- mPieCenterY = mCenterY + mCenterY / 3;
+ mPieCenterY = (int) (getHeight() - 2.5f * mDeadZone);
}
private void layoutPie() {
@@ -413,10 +414,10 @@ public class PieRenderer extends OverlayRenderer
private float getCenterAngle() {
float center = CENTER;
if (mPieCenterX < mDeadZone + mAngleZone) {
- center = CENTER - (mAngleZone - mPieCenterX + mDeadZone) * RAD20
+ center = CENTER - (mAngleZone - mPieCenterX + mDeadZone) * RAD24
/ (float) mAngleZone;
} else if (mPieCenterX > getWidth() - mDeadZone - mAngleZone) {
- center = CENTER + (mPieCenterX - (getWidth() - mDeadZone - mAngleZone)) * RAD20
+ center = CENTER + (mPieCenterX - (getWidth() - mDeadZone - mAngleZone)) * RAD24
/ (float) mAngleZone;
}
return center;
@@ -757,6 +758,7 @@ public class PieRenderer extends OverlayRenderer
private void openCurrentItem() {
if ((mCurrentItem != null) && mCurrentItem.hasItems()) {
mOpen.add(mCurrentItem);
+ layoutLabel(getLevel());
mOpening = true;
if (mFadeIn != null) {
mFadeIn.cancel();
@@ -774,7 +776,6 @@ public class PieRenderer extends OverlayRenderer
mXFade = null;
ci.setSelected(false);
mOpening = false;
- mLabel.setText("");
}
@Override