From c6ac3be144485f25f4f5c156a888837355b33194 Mon Sep 17 00:00:00 2001 From: p32929 Date: Mon, 7 Jan 2019 10:39:31 +0600 Subject: [PATCH] added new methods for changing bar background foreground text colors --- .../java/im/dacer/androidcharts/BarView.java | 31 +++++++++++++++---- .../androidchartsexample/BarFragment.java | 16 +++++++--- 2 files changed, 37 insertions(+), 10 deletions(-) diff --git a/AndroidCharts/src/main/java/im/dacer/androidcharts/BarView.java b/AndroidCharts/src/main/java/im/dacer/androidcharts/BarView.java index d4aba10..3646b7d 100644 --- a/AndroidCharts/src/main/java/im/dacer/androidcharts/BarView.java +++ b/AndroidCharts/src/main/java/im/dacer/androidcharts/BarView.java @@ -7,6 +7,7 @@ import android.graphics.Rect; import android.util.AttributeSet; import android.view.View; + import java.util.ArrayList; /** @@ -16,9 +17,9 @@ public class BarView extends View { private final int MINI_BAR_WIDTH; private final int BAR_SIDE_MARGIN; private final int TEXT_TOP_MARGIN; - private final int TEXT_COLOR = Color.parseColor("#9B9A9B"); - private final int BACKGROUND_COLOR = Color.parseColor("#F6F6F6"); - private final int FOREGROUND_COLOR = Color.parseColor("#FC496D"); + private int TEXT_COLOR = Color.parseColor("#9B9A9B"); + private int BACKGROUND_COLOR = Color.parseColor("#F6F6F6"); + private int FOREGROUND_COLOR = Color.parseColor("#FC496D"); private ArrayList percentList; private ArrayList targetPercentList; private Paint textPaint; @@ -32,7 +33,8 @@ public class BarView extends View { private int bottomTextHeight; private ArrayList bottomTextList = new ArrayList(); private Runnable animator = new Runnable() { - @Override public void run() { + @Override + public void run() { boolean needNewFrame = false; for (int i = 0; i < targetPercentList.size(); i++) { if (percentList.get(i) < targetPercentList.get(i)) { @@ -134,7 +136,8 @@ public void setDataList(ArrayList list, int max) { post(animator); } - @Override protected void onDraw(Canvas canvas) { + @Override + protected void onDraw(Canvas canvas) { int i = 1; if (percentList != null && !percentList.isEmpty()) { for (Float f : percentList) { @@ -171,7 +174,8 @@ public void setDataList(ArrayList list, int max) { } } - @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int mViewWidth = measureWidth(widthMeasureSpec); int mViewHeight = measureHeight(heightMeasureSpec); setMeasuredDimension(mViewWidth, mViewHeight); @@ -206,4 +210,19 @@ private int getMeasurement(int measureSpec, int preferred) { } return measurement; } + + public void setBarColorEmptyPart(int color) { + BACKGROUND_COLOR = color; + bgPaint.setColor(color); + } + + public void setBarColorValuePart(int color) { + FOREGROUND_COLOR = color; + fgPaint.setColor(color); + } + + public void setTextColor(int color) { + TEXT_COLOR = color; + textPaint.setColor(color); + } } diff --git a/AndroidChartsExample/src/main/java/com/dacer/androidchartsexample/BarFragment.java b/AndroidChartsExample/src/main/java/com/dacer/androidchartsexample/BarFragment.java index be82a40..41369f7 100644 --- a/AndroidChartsExample/src/main/java/com/dacer/androidchartsexample/BarFragment.java +++ b/AndroidChartsExample/src/main/java/com/dacer/androidchartsexample/BarFragment.java @@ -1,25 +1,33 @@ package com.dacer.androidchartsexample; import android.app.Fragment; +import android.graphics.Color; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; -import im.dacer.androidcharts.BarView; + import java.util.ArrayList; +import im.dacer.androidcharts.BarView; + /** * Created by Dacer on 11/15/13. */ public class BarFragment extends Fragment { - @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_bar, container, false); final BarView barView = (BarView) rootView.findViewById(R.id.bar_view); + // barView.setBarColorEmptyPart(Color.parseColor("#4CAF50")); + barView.setBarColorValuePart(Color.parseColor("#4CAF50")); + barView.setTextColor(Color.parseColor("#009688")); Button button = (Button) rootView.findViewById(R.id.bar_button); button.setOnClickListener(new View.OnClickListener() { - @Override public void onClick(View view) { + @Override + public void onClick(View view) { randomSet(barView); } });