From 14845166c17c42a94b80ad4bd805a69de73a7895 Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Mon, 29 Dec 2025 08:53:03 +0100 Subject: [PATCH 1/4] ViewBinding LineChartActivityColored --- .../chartexample/LineChartActivityColored.kt | 24 +++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/app/src/main/kotlin/info/appdev/chartexample/LineChartActivityColored.kt b/app/src/main/kotlin/info/appdev/chartexample/LineChartActivityColored.kt index 0193ea03a..80810115f 100644 --- a/app/src/main/kotlin/info/appdev/chartexample/LineChartActivityColored.kt +++ b/app/src/main/kotlin/info/appdev/chartexample/LineChartActivityColored.kt @@ -6,25 +6,29 @@ import android.graphics.Typeface import android.os.Bundle import android.view.Menu import android.view.MenuItem +import androidx.core.net.toUri +import info.appdev.chartexample.DataTools.Companion.getValues +import info.appdev.chartexample.databinding.ActivityColoredLinesBinding +import info.appdev.chartexample.notimportant.DemoBase import info.appdev.charting.charts.LineChart import info.appdev.charting.data.Entry import info.appdev.charting.data.LineData import info.appdev.charting.data.LineDataSet -import info.appdev.chartexample.DataTools.Companion.getValues -import info.appdev.chartexample.notimportant.DemoBase -import androidx.core.net.toUri class LineChartActivityColored : DemoBase() { - private val charts = arrayOfNulls(4) + private val charts = mutableListOf() + + private lateinit var binding: ActivityColoredLinesBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_colored_lines) + binding = ActivityColoredLinesBinding.inflate(layoutInflater) + setContentView(binding.root) - charts[0] = findViewById(R.id.chart1) - charts[1] = findViewById(R.id.chart2) - charts[2] = findViewById(R.id.chart3) - charts[3] = findViewById(R.id.chart4) + charts.add(binding.chart1) + charts.add(binding.chart2) + charts.add(binding.chart3) + charts.add(binding.chart4) val mTf = Typeface.createFromAsset(assets, "OpenSans-Bold.ttf") @@ -33,7 +37,7 @@ class LineChartActivityColored : DemoBase() { data.setValueTypeface(mTf) // add some transparency to the color with "& 0x90FFFFFF" - setupChart(charts[i]!!, data, colors[i % colors.size]) + setupChart(charts[i], data, colors[i % colors.size]) } } From 2e0001de4642129e819fb1775c144c26bd5f005e Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Mon, 29 Dec 2025 08:56:52 +0100 Subject: [PATCH 2/4] ViewBinding GradientActivity --- .../appdev/chartexample/GradientActivity.kt | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/app/src/main/kotlin/info/appdev/chartexample/GradientActivity.kt b/app/src/main/kotlin/info/appdev/chartexample/GradientActivity.kt index cc84a3cd6..141429f03 100644 --- a/app/src/main/kotlin/info/appdev/chartexample/GradientActivity.kt +++ b/app/src/main/kotlin/info/appdev/chartexample/GradientActivity.kt @@ -1,12 +1,11 @@ package info.appdev.chartexample import android.os.Bundle -import androidx.activity.enableEdgeToEdge import androidx.core.content.ContextCompat import androidx.core.view.ViewCompat import androidx.core.view.WindowInsetsCompat +import info.appdev.chartexample.databinding.ActivityGradientBinding import info.appdev.chartexample.notimportant.DemoBase -import info.appdev.charting.charts.LineChart import info.appdev.charting.data.Entry import info.appdev.charting.data.LineData import info.appdev.charting.data.LineDataSet @@ -17,10 +16,12 @@ import info.appdev.charting.utils.Utils class GradientActivity : DemoBase() { + private lateinit var binding: ActivityGradientBinding + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - enableEdgeToEdge() - setContentView(R.layout.activity_gradient) + binding = ActivityGradientBinding.inflate(layoutInflater) + setContentView(binding.root) ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets -> val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars()) @@ -30,13 +31,11 @@ class GradientActivity : DemoBase() { Utils.init(this) - val chart: LineChart = findViewById(R.id.chart) - // Minimal chart setup - chart.description.isEnabled = false - chart.legend.isEnabled = false - chart.axisRight.isEnabled = false - chart.setDrawGridBackground(false) + binding.chart.description.isEnabled = false + binding.chart.legend.isEnabled = false + binding.chart.axisRight.isEnabled = false + binding.chart.setDrawGridBackground(false) // ----------------------------- // Linear function @@ -65,13 +64,13 @@ class GradientActivity : DemoBase() { override fun getFillLinePosition( dataSet: ILineDataSet?, dataProvider: LineDataProvider - ): Float = chart.axisLeft.axisMinimum + ): Float = binding.chart.axisLeft.axisMinimum } } - chart.axisLeft.axisMinimum = 0f - chart.setData(LineData(dataSet)) - chart.invalidate() + binding.chart.axisLeft.axisMinimum = 0f + binding.chart.setData(LineData(dataSet)) + binding.chart.invalidate() } override fun saveToGallery() = Unit From bc7db5e100efad0a94a0e00e5894ae085268671f Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Mon, 29 Dec 2025 08:57:08 +0100 Subject: [PATCH 3/4] ViewBinding ViewPagerSimpleChartDemo --- .../fragments/ViewPagerSimpleChartDemo.kt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/kotlin/info/appdev/chartexample/fragments/ViewPagerSimpleChartDemo.kt b/app/src/main/kotlin/info/appdev/chartexample/fragments/ViewPagerSimpleChartDemo.kt index 8f99ba48c..954bdbbf5 100644 --- a/app/src/main/kotlin/info/appdev/chartexample/fragments/ViewPagerSimpleChartDemo.kt +++ b/app/src/main/kotlin/info/appdev/chartexample/fragments/ViewPagerSimpleChartDemo.kt @@ -13,21 +13,25 @@ import androidx.core.net.toUri import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager import androidx.fragment.app.FragmentPagerAdapter -import androidx.viewpager.widget.ViewPager import com.google.android.material.snackbar.Snackbar import info.appdev.chartexample.R +import info.appdev.chartexample.databinding.ActivityAwesomedesignBinding import info.appdev.chartexample.notimportant.DemoBase /** * Demonstrates how to keep your charts straight forward, simple and beautiful with the AndroidChart library. */ class ViewPagerSimpleChartDemo : DemoBase() { + + private lateinit var binding: ActivityAwesomedesignBinding + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_awesomedesign) - val pager = findViewById(R.id.pager) - pager.offscreenPageLimit = 3 - pager.adapter = PageAdapter(supportFragmentManager) + binding = ActivityAwesomedesignBinding.inflate(layoutInflater) + setContentView(binding.root) + + binding.pager.offscreenPageLimit = 3 + binding.pager.adapter = PageAdapter(supportFragmentManager) showSnackbar("Swipe left and right for more awesome design examples!") } From 423b919ae544880ecab919487539423780f4a025 Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Mon, 29 Dec 2025 09:23:21 +0100 Subject: [PATCH 4/4] Adapt new screenshots --- ...GradientActivity-Gradient-1SampleClick.png | Bin 13806 -> 15434 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/screenshotsToCompare9/StartTest_smokeTestStart-42-GradientActivity-Gradient-1SampleClick.png b/screenshotsToCompare9/StartTest_smokeTestStart-42-GradientActivity-Gradient-1SampleClick.png index b3fdc8bb6929b25f522530d0fe702dc83ae22ff7..6a15cb1a6d3688054d40429a06f11e0ae5e4a92d 100644 GIT binary patch literal 15434 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 Hpr8FOD5bj{ literal 13806 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