From 35f50339a1f99a022b0cccd06928b7a56e150b8a Mon Sep 17 00:00:00 2001 From: Jean Marie Pascal Date: Wed, 4 Dec 2013 14:34:05 +0100 Subject: [PATCH] Create a new parameter for BarChart : Show/Hide Axis. --- .../com/echo/holographlibrary/BarGraph.java | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/HoloGraphLibrary/src/com/echo/holographlibrary/BarGraph.java b/HoloGraphLibrary/src/com/echo/holographlibrary/BarGraph.java index 7d3efa4..b4b19d0 100644 --- a/HoloGraphLibrary/src/com/echo/holographlibrary/BarGraph.java +++ b/HoloGraphLibrary/src/com/echo/holographlibrary/BarGraph.java @@ -49,6 +49,7 @@ public class BarGraph extends View { private Paint mPaint = new Paint(); private Rect mRectangle = null; private boolean mShowBarText = true; + private boolean mShowAxis = true; private int mIndexSelected = -1; private OnBarClickedListener mListener; private Bitmap mFullImage; @@ -70,6 +71,10 @@ public void setShowBarText(boolean show){ mShowBarText = show; } + public void setShowAxis(boolean show){ + mShowAxis = show; + } + public void setBars(ArrayList points){ this.mBars = points; mShouldUpdate = true; @@ -104,12 +109,13 @@ public void onDraw(Canvas ca) { } // Draw x-axis line - mPaint.setColor(Color.BLACK); - mPaint.setStrokeWidth(2 * mContext.getResources().getDisplayMetrics().density); - mPaint.setAlpha(50); - mPaint.setAntiAlias(true); - canvas.drawLine(0, getHeight()-bottomPadding+10* mContext.getResources().getDisplayMetrics().density, getWidth(), getHeight()-bottomPadding+10* mContext.getResources().getDisplayMetrics().density, mPaint); - + if (mShowAxis){ + mPaint.setColor(Color.BLACK); + mPaint.setStrokeWidth(2 * mContext.getResources().getDisplayMetrics().density); + mPaint.setAlpha(50); + mPaint.setAntiAlias(true); + canvas.drawLine(0, getHeight()-bottomPadding+10* mContext.getResources().getDisplayMetrics().density, getWidth(), getHeight()-bottomPadding+10* mContext.getResources().getDisplayMetrics().density, mPaint); + } float barWidth = (getWidth() - (padding*2)*mBars.size())/mBars.size(); // Maximum y value = sum of all values. @@ -142,10 +148,12 @@ public void onDraw(Canvas ca) { bar.setRegion(new Region(mRectangle.left-selectPadding, mRectangle.top-selectPadding, mRectangle.right+selectPadding, mRectangle.bottom+selectPadding)); // Draw x-axis label text - this.mPaint.setTextSize(AXIS_LABEL_FONT_SIZE * mContext.getResources().getDisplayMetrics().scaledDensity); - int x = (int)(((mRectangle.left+mRectangle.right)/2)-(this.mPaint.measureText(bar.getName())/2)); - int y = (int) (getHeight()-3 * mContext.getResources().getDisplayMetrics().scaledDensity); - canvas.drawText(bar.getName(), x, y, this.mPaint); + if (mShowAxis){ + this.mPaint.setTextSize(AXIS_LABEL_FONT_SIZE * mContext.getResources().getDisplayMetrics().scaledDensity); + int x = (int)(((mRectangle.left+mRectangle.right)/2)-(this.mPaint.measureText(bar.getName())/2)); + int y = (int) (getHeight()-3 * mContext.getResources().getDisplayMetrics().scaledDensity); + canvas.drawText(bar.getName(), x, y, this.mPaint); + } // Draw value text if (mShowBarText){