From 5850006406aadee3e13b35054e29294119c8ce95 Mon Sep 17 00:00:00 2001 From: therajanmaurya Date: Wed, 22 Aug 2018 17:01:32 +0530 Subject: [PATCH] Feat: Ability to set bar max bar height for every bar --- .gitignore | 8 +++++ .idea/codeStyles/Project.xml | 29 ---------------- .idea/gradle.xml | 19 ----------- .idea/misc.xml | 34 ------------------- .idea/vcs.xml | 6 ---- build.gradle | 2 +- charts/build.gradle | 8 ++--- .../java/com/hadiidbouk/charts/BarData.java | 16 +++++++++ .../hadiidbouk/charts/ChartProgressBar.java | 1 + sample/build.gradle | 14 ++++---- .../chartprogressbar/MainActivity.java | 12 +++---- sample/src/main/res/layout/activity_main.xml | 2 +- 12 files changed, 44 insertions(+), 107 deletions(-) delete mode 100644 .idea/codeStyles/Project.xml delete mode 100644 .idea/gradle.xml delete mode 100644 .idea/misc.xml delete mode 100644 .idea/vcs.xml diff --git a/.gitignore b/.gitignore index 3c117df..466b213 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,14 @@ captures/ .idea/dictionaries .idea/libraries .idea/caches +.idea/markdown-navigator.xml +.idea/misc.xml +.idea/codeStyles/Project.xml +.idea/dbnavigator.xml +.idea/encodings.xml +.idea/markdown-navigator/profiles_settings.xml +.idea/misc.xml +.idea/vcs.xml # Keystore files # Uncomment the following line if you do not want to check your keystore files in. diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml deleted file mode 100644 index 30aa626..0000000 --- a/.idea/codeStyles/Project.xml +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml deleted file mode 100644 index 86f19b9..0000000 --- a/.idea/gradle.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index ac59544..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/build.gradle b/build.gradle index dd58c00..070737b 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.1.1' + classpath 'com.android.tools.build:gradle:3.1.4' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/charts/build.gradle b/charts/build.gradle index 7cec651..6fc1c63 100644 --- a/charts/build.gradle +++ b/charts/build.gradle @@ -22,10 +22,10 @@ android { } dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + implementation fileTree(include: ['*.jar'], dir: 'libs') + androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.2', { exclude group: 'com.android.support', module: 'support-annotations' }) - testCompile 'junit:junit:4.12' - compile 'com.android.support:support-v4:27.0.1' + testImplementation 'junit:junit:4.12' + implementation 'com.android.support:support-v4:27.1.1' } diff --git a/charts/src/main/java/com/hadiidbouk/charts/BarData.java b/charts/src/main/java/com/hadiidbouk/charts/BarData.java index 7c2793e..d28f98c 100644 --- a/charts/src/main/java/com/hadiidbouk/charts/BarData.java +++ b/charts/src/main/java/com/hadiidbouk/charts/BarData.java @@ -5,6 +5,15 @@ public class BarData { private String barTitle; private float barValue; private String pinText; + private float maxValue = 0.0f; + + public float getMaxValue() { + return maxValue; + } + + public void setMaxValue(float maxValue) { + this.maxValue = maxValue; + } public String getPinText() { return pinText; @@ -41,6 +50,13 @@ public BarData(String barTitle, float barValue, String pinText) { this.pinText = pinText; } + public BarData(String barTitle, float barValue, String pinText, float maxValue) { + this.barTitle = barTitle; + this.barValue = barValue; + this.pinText = pinText; + this.maxValue = maxValue; + } + public BarData() { } } diff --git a/charts/src/main/java/com/hadiidbouk/charts/ChartProgressBar.java b/charts/src/main/java/com/hadiidbouk/charts/ChartProgressBar.java index 8625067..e7291eb 100644 --- a/charts/src/main/java/com/hadiidbouk/charts/ChartProgressBar.java +++ b/charts/src/main/java/com/hadiidbouk/charts/ChartProgressBar.java @@ -141,6 +141,7 @@ public void build() { int i = 0; for (BarData data : mDataList) { int barValue = (int) (data.getBarValue() * 100); + mMaxValue = data.getMaxValue(); FrameLayout bar = getBar(data.getBarTitle(), barValue, i); linearLayout.addView(bar); i++; diff --git a/sample/build.gradle b/sample/build.gradle index 4908dce..9def068 100644 --- a/sample/build.gradle +++ b/sample/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'com.android.application' android { compileSdkVersion 27 - buildToolsVersion "27.0.1" + buildToolsVersion "27.0.3" defaultConfig { applicationId "com.hadiidbouk.chartprogressbar" minSdkVersion 14 @@ -20,12 +20,12 @@ android { } dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + implementation fileTree(include: ['*.jar'], dir: 'libs') + androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) - compile 'com.android.support.constraint:constraint-layout:1.0.2' - testCompile 'junit:junit:4.12' - compile project(path: ':charts') - implementation 'com.android.support:appcompat-v7:27.0.1' + implementation 'com.android.support.constraint:constraint-layout:1.1.2' + testImplementation 'junit:junit:4.12' + implementation project(path: ':charts') + implementation 'com.android.support:appcompat-v7:27.1.1' } diff --git a/sample/src/main/java/com/hadiidbouk/chartprogressbar/MainActivity.java b/sample/src/main/java/com/hadiidbouk/chartprogressbar/MainActivity.java index d8b2b4f..e8b1ba1 100644 --- a/sample/src/main/java/com/hadiidbouk/chartprogressbar/MainActivity.java +++ b/sample/src/main/java/com/hadiidbouk/chartprogressbar/MainActivity.java @@ -22,22 +22,22 @@ protected void onCreate(Bundle savedInstanceState) { ArrayList dataList = new ArrayList<>(); - BarData data = new BarData("Sep", 3.4f, "3.4€"); + BarData data = new BarData("Sep", 3.4f, "3.4€", 10f); dataList.add(data); - data = new BarData("Oct", 8.0f, "8.0€"); + data = new BarData("Oct", 8.0f, "8.0€", 20f); dataList.add(data); - data = new BarData("Nov", 1.8f, "1.8€"); + data = new BarData("Nov", 1.8f, "1.8€", 40f); dataList.add(data); - data = new BarData("Dec", 7.3f, "7.3€"); + data = new BarData("Dec", 7.3f, "7.3€", 100f); dataList.add(data); - data = new BarData("Jan", 6.2f, "6.2€"); + data = new BarData("Jan", 6.2f, "6.2€", 25f); dataList.add(data); - data = new BarData("Feb", 3.3f, "3.3€"); + data = new BarData("Feb", 3.3f, "3.3€", 20f); dataList.add(data); mChart = (ChartProgressBar) findViewById(R.id.ChartProgressBar); diff --git a/sample/src/main/res/layout/activity_main.xml b/sample/src/main/res/layout/activity_main.xml index 2833e02..4786f73 100644 --- a/sample/src/main/res/layout/activity_main.xml +++ b/sample/src/main/res/layout/activity_main.xml @@ -20,7 +20,7 @@ app:hdBarWidth="7dp" app:hdBarRadius="10dp" app:hdMaxValue="10" - app:hdEmptyColor="@color/empty" + app:hdEmptyColor="@color/bar_title_txt_selected_color" app:hdProgressColor="@color/progress" app:hdProgressClickColor="@color/progress_click" app:hdPinBackgroundColor="@color/pin_background"