Skip to content

Commit 46c1d28

Browse files
authored
Merge pull request #611 from AppDevNext/ViewBinding
ViewBinding LineChartActivityColored
2 parents d125a1f + 423b919 commit 46c1d28

File tree

4 files changed

+36
-29
lines changed

4 files changed

+36
-29
lines changed

app/src/main/kotlin/info/appdev/chartexample/GradientActivity.kt

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
package info.appdev.chartexample
22

33
import android.os.Bundle
4-
import androidx.activity.enableEdgeToEdge
54
import androidx.core.content.ContextCompat
65
import androidx.core.view.ViewCompat
76
import androidx.core.view.WindowInsetsCompat
7+
import info.appdev.chartexample.databinding.ActivityGradientBinding
88
import info.appdev.chartexample.notimportant.DemoBase
9-
import info.appdev.charting.charts.LineChart
109
import info.appdev.charting.data.Entry
1110
import info.appdev.charting.data.LineData
1211
import info.appdev.charting.data.LineDataSet
@@ -17,10 +16,12 @@ import info.appdev.charting.utils.Utils
1716

1817
class GradientActivity : DemoBase() {
1918

19+
private lateinit var binding: ActivityGradientBinding
20+
2021
override fun onCreate(savedInstanceState: Bundle?) {
2122
super.onCreate(savedInstanceState)
22-
enableEdgeToEdge()
23-
setContentView(R.layout.activity_gradient)
23+
binding = ActivityGradientBinding.inflate(layoutInflater)
24+
setContentView(binding.root)
2425

2526
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
2627
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
@@ -30,13 +31,11 @@ class GradientActivity : DemoBase() {
3031

3132
Utils.init(this)
3233

33-
val chart: LineChart = findViewById(R.id.chart)
34-
3534
// Minimal chart setup
36-
chart.description.isEnabled = false
37-
chart.legend.isEnabled = false
38-
chart.axisRight.isEnabled = false
39-
chart.setDrawGridBackground(false)
35+
binding.chart.description.isEnabled = false
36+
binding.chart.legend.isEnabled = false
37+
binding.chart.axisRight.isEnabled = false
38+
binding.chart.setDrawGridBackground(false)
4039

4140
// -----------------------------
4241
// Linear function
@@ -65,13 +64,13 @@ class GradientActivity : DemoBase() {
6564
override fun getFillLinePosition(
6665
dataSet: ILineDataSet?,
6766
dataProvider: LineDataProvider
68-
): Float = chart.axisLeft.axisMinimum
67+
): Float = binding.chart.axisLeft.axisMinimum
6968
}
7069
}
7170

72-
chart.axisLeft.axisMinimum = 0f
73-
chart.setData(LineData(dataSet))
74-
chart.invalidate()
71+
binding.chart.axisLeft.axisMinimum = 0f
72+
binding.chart.setData(LineData(dataSet))
73+
binding.chart.invalidate()
7574
}
7675

7776
override fun saveToGallery() = Unit

app/src/main/kotlin/info/appdev/chartexample/LineChartActivityColored.kt

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,25 +6,29 @@ import android.graphics.Typeface
66
import android.os.Bundle
77
import android.view.Menu
88
import android.view.MenuItem
9+
import androidx.core.net.toUri
10+
import info.appdev.chartexample.DataTools.Companion.getValues
11+
import info.appdev.chartexample.databinding.ActivityColoredLinesBinding
12+
import info.appdev.chartexample.notimportant.DemoBase
913
import info.appdev.charting.charts.LineChart
1014
import info.appdev.charting.data.Entry
1115
import info.appdev.charting.data.LineData
1216
import info.appdev.charting.data.LineDataSet
13-
import info.appdev.chartexample.DataTools.Companion.getValues
14-
import info.appdev.chartexample.notimportant.DemoBase
15-
import androidx.core.net.toUri
1617

1718
class LineChartActivityColored : DemoBase() {
18-
private val charts = arrayOfNulls<LineChart>(4)
19+
private val charts = mutableListOf<LineChart>()
20+
21+
private lateinit var binding: ActivityColoredLinesBinding
1922

2023
override fun onCreate(savedInstanceState: Bundle?) {
2124
super.onCreate(savedInstanceState)
22-
setContentView(R.layout.activity_colored_lines)
25+
binding = ActivityColoredLinesBinding.inflate(layoutInflater)
26+
setContentView(binding.root)
2327

24-
charts[0] = findViewById<LineChart?>(R.id.chart1)
25-
charts[1] = findViewById<LineChart?>(R.id.chart2)
26-
charts[2] = findViewById<LineChart?>(R.id.chart3)
27-
charts[3] = findViewById<LineChart?>(R.id.chart4)
28+
charts.add(binding.chart1)
29+
charts.add(binding.chart2)
30+
charts.add(binding.chart3)
31+
charts.add(binding.chart4)
2832

2933
val mTf = Typeface.createFromAsset(assets, "OpenSans-Bold.ttf")
3034

@@ -33,7 +37,7 @@ class LineChartActivityColored : DemoBase() {
3337
data.setValueTypeface(mTf)
3438

3539
// add some transparency to the color with "& 0x90FFFFFF"
36-
setupChart(charts[i]!!, data, colors[i % colors.size])
40+
setupChart(charts[i], data, colors[i % colors.size])
3741
}
3842
}
3943

app/src/main/kotlin/info/appdev/chartexample/fragments/ViewPagerSimpleChartDemo.kt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,25 @@ import androidx.core.net.toUri
1313
import androidx.fragment.app.Fragment
1414
import androidx.fragment.app.FragmentManager
1515
import androidx.fragment.app.FragmentPagerAdapter
16-
import androidx.viewpager.widget.ViewPager
1716
import com.google.android.material.snackbar.Snackbar
1817
import info.appdev.chartexample.R
18+
import info.appdev.chartexample.databinding.ActivityAwesomedesignBinding
1919
import info.appdev.chartexample.notimportant.DemoBase
2020

2121
/**
2222
* Demonstrates how to keep your charts straight forward, simple and beautiful with the AndroidChart library.
2323
*/
2424
class ViewPagerSimpleChartDemo : DemoBase() {
25+
26+
private lateinit var binding: ActivityAwesomedesignBinding
27+
2528
override fun onCreate(savedInstanceState: Bundle?) {
2629
super.onCreate(savedInstanceState)
27-
setContentView(R.layout.activity_awesomedesign)
28-
val pager = findViewById<ViewPager>(R.id.pager)
29-
pager.offscreenPageLimit = 3
30-
pager.adapter = PageAdapter(supportFragmentManager)
30+
binding = ActivityAwesomedesignBinding.inflate(layoutInflater)
31+
setContentView(binding.root)
32+
33+
binding.pager.offscreenPageLimit = 3
34+
binding.pager.adapter = PageAdapter(supportFragmentManager)
3135

3236
showSnackbar("Swipe left and right for more awesome design examples!")
3337
}
1.59 KB
Loading

0 commit comments

Comments
 (0)