From c3b17e7e1d280eb48668e8a8e1a165c26939fe0c Mon Sep 17 00:00:00 2001 From: Muhamad Salman Hakim Alfarisi <13521010@std.stei.itb.ac.id> Date: Wed, 3 Apr 2024 10:28:00 +0700 Subject: [PATCH] feat(graph): add graph pie chart dummy data --- app/build.gradle.kts | 2 + app/src/main/AndroidManifest.xml | 3 +- .../com/example/bondoman/GraphFragment.kt | 49 ++++++++++++++++--- .../main/res/layout-land/fragment_grafik.xml | 13 +++++ app/src/main/res/layout/fragment_grafik.xml | 19 +++---- app/src/main/res/values/colors.xml | 3 ++ app/src/main/res/values/strings.xml | 3 -- settings.gradle.kts | 2 + 8 files changed, 72 insertions(+), 22 deletions(-) create mode 100644 app/src/main/res/layout-land/fragment_grafik.xml diff --git a/app/build.gradle.kts b/app/build.gradle.kts index b810d65..900d2e8 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -60,4 +60,6 @@ dependencies { implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3") + // graph + implementation("com.github.PhilJay:MPAndroidChart:v3.1.0") } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1ede64e..c778eb5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -27,8 +27,7 @@ android:screenOrientation="portrait"/> <activity android:name=".MainActivity" - android:exported="false" - android:screenOrientation="portrait" /> + android:exported="false" /> <activity android:name=".SplashActivity" android:exported="true" diff --git a/app/src/main/java/com/example/bondoman/GraphFragment.kt b/app/src/main/java/com/example/bondoman/GraphFragment.kt index dfe6439..39756ce 100644 --- a/app/src/main/java/com/example/bondoman/GraphFragment.kt +++ b/app/src/main/java/com/example/bondoman/GraphFragment.kt @@ -1,19 +1,56 @@ package com.example.bondoman + import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import androidx.navigation.fragment.findNavController +import com.github.mikephil.charting.charts.PieChart +import com.github.mikephil.charting.data.PieData +import com.github.mikephil.charting.data.PieDataSet +import com.github.mikephil.charting.data.PieEntry + +class GraphFragment : Fragment() { -class GraphFragment: Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - val navController = findNavController() - // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_grafik, container, false) + val view = inflater.inflate(R.layout.fragment_grafik, container, false) + val pieChart: PieChart = view.findViewById(R.id.pieChart) + + // Dummy data + val income = 5000f + val outcome = 3000f + + val entries = ArrayList<PieEntry>() + entries.add(PieEntry(income, "Income")) + entries.add(PieEntry(outcome, "Outcome")) + + val dataSet = PieDataSet(entries, "Transaction Summary") + + val colors = ArrayList<Int>() + colors.add(resources.getColor(R.color.colorIncome)) + colors.add(resources.getColor(R.color.colorOutcome)) + dataSet.colors = colors + dataSet.valueTextSize = 24f + dataSet.valueTextColor = resources.getColor(R.color.text_graph) + + + val data = PieData(dataSet) + + pieChart.data = data + + pieChart.description.isEnabled = false + + pieChart.setHoleColor(android.R.color.transparent) + + val legend = pieChart.legend + legend.isEnabled = false + + pieChart.invalidate() + + return view } -} \ No newline at end of file +} diff --git a/app/src/main/res/layout-land/fragment_grafik.xml b/app/src/main/res/layout-land/fragment_grafik.xml new file mode 100644 index 0000000..7b3764d --- /dev/null +++ b/app/src/main/res/layout-land/fragment_grafik.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8"?> +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="#000113"> + + <com.github.mikephil.charting.charts.PieChart + android:id="@+id/pieChart" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginBottom="16dp"/> + +</RelativeLayout> diff --git a/app/src/main/res/layout/fragment_grafik.xml b/app/src/main/res/layout/fragment_grafik.xml index 8a4c372..7b3764d 100644 --- a/app/src/main/res/layout/fragment_grafik.xml +++ b/app/src/main/res/layout/fragment_grafik.xml @@ -1,16 +1,13 @@ <?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" - xmlns:app="http://schemas.android.com/apk/res-auto"> + android:background="#000113"> - <TextView - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:layout_constraintTop_toTopOf="parent" - app:layout_constraintStart_toStartOf="parent" - app:layout_constraintEnd_toEndOf="parent" - android:text="@string/graph_button_description"> - </TextView> + <com.github.mikephil.charting.charts.PieChart + android:id="@+id/pieChart" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginBottom="16dp"/> -</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file +</RelativeLayout> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index f97cf6d..dfffc97 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -11,4 +11,7 @@ <color name="light_purple">#9290C3</color> <color name="light_grey">#EAEAEA</color> <color name="text_grey">#475569</color> + <color name="colorIncome">#1B1A55</color> + <color name="colorOutcome">#9290C3</color> + <color name="text_graph">#5852EE</color> </resources> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6f37604..607d363 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -13,8 +13,5 @@ <string name="rescan_button_description">Pindai Ulang</string> <string name="image_button_description">Galeri</string> <string name="confirm_button_description">Konfirmasi</string> - <!-- TODO: Remove or change this placeholder text --> <string name="hello_blank_fragment">Hello blank fragment</string> - - </resources> \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index a8ccf60..e76ad3e 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -3,6 +3,7 @@ pluginManagement { google() mavenCentral() gradlePluginPortal() + maven("https://jitpack.io") } } dependencyResolutionManagement { @@ -10,6 +11,7 @@ dependencyResolutionManagement { repositories { google() mavenCentral() + maven("https://jitpack.io") } } -- GitLab