diff options
author | nicolasroard <nicolasroard@google.com> | 2012-11-28 15:56:07 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-11-28 15:56:08 -0800 |
commit | 5d2227a793b51f44f664a739cc7e931c40ba4970 (patch) | |
tree | e8980326d906c410bf321137e0fe608b599c7db6 | |
parent | 6a94446de01e8b6b034cc537ee3e65d507d47a47 (diff) | |
parent | f675cd16e8188a8d0b3a34dbc1a74c40ed36eb1e (diff) | |
download | android_packages_apps_Gallery2-5d2227a793b51f44f664a739cc7e931c40ba4970.tar.gz android_packages_apps_Gallery2-5d2227a793b51f44f664a739cc7e931c40ba4970.tar.bz2 android_packages_apps_Gallery2-5d2227a793b51f44f664a739cc7e931c40ba4970.zip |
Merge "Add a triangle to the popup button view" into gb-ub-photos-arches
-rw-r--r-- | src/com/android/gallery3d/filtershow/FilterShowActivity.java | 2 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/ui/FramedTextButton.java | 37 |
2 files changed, 34 insertions, 5 deletions
diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index ef0415f94..e02a75100 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -159,6 +159,8 @@ public class FilterShowActivity extends Activity implements OnItemClickListener, // TODO: get those values from XML. ImageZoom.setZoomedSize(getPixelsFromDip(256)); FramedTextButton.setTextSize((int) getPixelsFromDip(14)); + FramedTextButton.setTrianglePadding((int) getPixelsFromDip(4)); + FramedTextButton.setTriangleSize((int) getPixelsFromDip(10)); ImageShow.setTextSize((int) getPixelsFromDip(12)); ImageShow.setTextPadding((int) getPixelsFromDip(10)); ImageShow.setOriginalTextMargin((int) getPixelsFromDip(4)); diff --git a/src/com/android/gallery3d/filtershow/ui/FramedTextButton.java b/src/com/android/gallery3d/filtershow/ui/FramedTextButton.java index 17453d070..c717b6e61 100644 --- a/src/com/android/gallery3d/filtershow/ui/FramedTextButton.java +++ b/src/com/android/gallery3d/filtershow/ui/FramedTextButton.java @@ -20,6 +20,7 @@ import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Paint; +import android.graphics.Path; import android.graphics.Rect; import android.util.AttributeSet; import android.widget.ImageButton; @@ -32,6 +33,10 @@ public class FramedTextButton extends ImageButton { private static int mTextSize = 24; private static int mTextPadding = 20; private static Paint gPaint = new Paint(); + private static Path gPath = new Path(); + private static int mTrianglePadding = 2; + private static int mTriangleSize = 30; + private Context mContext = null; public static void setTextSize(int value) { @@ -42,6 +47,14 @@ public class FramedTextButton extends ImageButton { mTextPadding = value; } + public static void setTrianglePadding(int value) { + mTrianglePadding = value; + } + + public static void setTriangleSize(int value) { + mTriangleSize = value; + } + public void setText(String text) { mText = text; invalidate(); @@ -84,11 +97,25 @@ public class FramedTextButton extends ImageButton { @Override public void onDraw(Canvas canvas) { - gPaint.setARGB(255, 255, 255, 255); + gPaint.setARGB(96, 255, 255, 255); gPaint.setStrokeWidth(2); gPaint.setStyle(Paint.Style.STROKE); - canvas.drawRect(mTextPadding, mTextPadding, getWidth() - mTextPadding, - getHeight() - mTextPadding, gPaint); + int w = getWidth(); + int h = getHeight(); + canvas.drawRect(mTextPadding, mTextPadding, w - mTextPadding, + h - mTextPadding, gPaint); + gPath.reset(); + gPath.moveTo(w - mTextPadding - mTrianglePadding - mTriangleSize, + h - mTextPadding - mTrianglePadding); + gPath.lineTo(w - mTextPadding - mTrianglePadding, + h - mTextPadding - mTrianglePadding - mTriangleSize); + gPath.lineTo(w - mTextPadding - mTrianglePadding, + h - mTextPadding - mTrianglePadding); + gPath.close(); + gPaint.setARGB(128, 255, 255, 255); + gPaint.setStrokeWidth(1); + gPaint.setStyle(Paint.Style.FILL_AND_STROKE); + canvas.drawPath(gPath, gPaint); if (mText != null) { gPaint.reset(); gPaint.setARGB(255, 255, 255, 255); @@ -96,8 +123,8 @@ public class FramedTextButton extends ImageButton { float textWidth = gPaint.measureText(mText); Rect bounds = new Rect(); gPaint.getTextBounds(mText, 0, mText.length(), bounds); - int x = (int) ((getWidth() - textWidth) / 2); - int y = (getHeight() + bounds.height()) / 2; + int x = (int) ((w - textWidth) / 2); + int y = (h + bounds.height()) / 2; canvas.drawText(mText, x, y, gPaint); } |