Skip to content

Commit 4ca6024

Browse files
committed
add density to accessibility details popup for bubble chart
1 parent 8e8c91b commit 4ca6024

File tree

5 files changed

+91
-96
lines changed

5 files changed

+91
-96
lines changed

YChartsLib/src/main/java/co/yml/charts/common/utils/DataUtils.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ object DataUtils {
3333
for (index in 0 until listSize) {
3434
list.add(
3535
Point(
36-
20+index.toFloat(),
36+
index.toFloat(),
3737
(start until maxRange).random().toFloat()
3838
)
3939
)
@@ -52,7 +52,7 @@ object DataUtils {
5252
for (index in 0 until listSize) {
5353
list.add(
5454
Point(
55-
20+index.toFloat(),
55+
index.toFloat(),
5656
(start until maxRange).random().toFloat()
5757
)
5858
)

YChartsLib/src/main/java/co/yml/charts/ui/bubblechart/BubbleChart.kt

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -195,8 +195,12 @@ fun BubbleChart(modifier: Modifier, bubbleChartData: BubbleChartData) {
195195
drawUnderScrollMask(columnWidth, paddingRight, bgColor)
196196

197197
pointsData.forEachIndexed { index, offset ->
198-
val drawingOffset = Offset(columnWidth+offset.x,offset.y)
199-
bubbles[index].draw(this, drawingOffset, bubbleChartData.maximumBubbleRadius)
198+
val drawingOffset = Offset(offset.x, offset.y)
199+
bubbles[index].draw(
200+
this,
201+
drawingOffset,
202+
bubbleChartData.maximumBubbleRadius
203+
)
200204

201205
if (isTapped && offset.isTapped(tapOffset.x, xOffset)) {
202206
tapPointLocks[0] = bubbles[index].center to offset
@@ -253,7 +257,7 @@ fun BubbleChart(modifier: Modifier, bubbleChartData: BubbleChartData) {
253257
index
254258
)
255259
),
256-
bubbles[index].center.description,
260+
bubbles[index].center.description + "density is" + { bubbles[index].density },
257261
bubbles[index].bubbleStyle.solidColor,
258262
accessibilityConfig.titleTextSize,
259263
accessibilityConfig.descriptionTextSize

app/src/main/java/co/yml/ycharts/app/MainActivity.kt

Lines changed: 78 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -20,105 +20,96 @@ class MainActivity : ComponentActivity() {
2020
super.onCreate(savedInstanceState)
2121
setContent {
2222
YChartsTheme {
23-
Scaffold(modifier = Modifier.fillMaxSize(),
24-
backgroundColor = YChartsTheme.colors.background,
25-
topBar = { AppBar() })
26-
{
27-
Column(
28-
modifier = Modifier
29-
.padding(it)
30-
.fillMaxSize(),
31-
verticalArrangement = Arrangement.Center
32-
) {
33-
ChartButton(title = getString(R.string.title_bar_chart), onClick = {
34-
startActivity(
35-
Intent(
36-
this@MainActivity,
37-
BarChartActivity::class.java
38-
)
39-
)
40-
addActivityInOutAnim()
41-
})
42-
ChartButton(title = getString(R.string.title_line_chart), onClick = {
43-
startActivity(
44-
Intent(
45-
this@MainActivity,
46-
LineChartActivity::class.java
47-
)
48-
)
49-
addActivityInOutAnim()
50-
})
23+
ChartsMenu()
24+
}
25+
}
26+
}
5127

52-
ChartButton(title = getString(R.string.title_wave_chart), onClick = {
53-
startActivity(
54-
Intent(
55-
this@MainActivity,
56-
WaveChartActivity::class.java
57-
)
58-
)
59-
addActivityInOutAnim()
60-
})
6128

62-
ChartButton(title = getString(R.string.title_pie_chart), onClick = {
63-
startActivity(
64-
Intent(
65-
this@MainActivity,
66-
PieChartActivity::class.java
67-
)
68-
)
69-
addActivityInOutAnim()
70-
})
71-
ChartButton(title = getString(R.string.title_donut_chart), onClick = {
72-
startActivity(
73-
Intent(
74-
this@MainActivity,
75-
DonutChartActivity::class.java
76-
)
77-
)
78-
addActivityInOutAnim()
79-
})
80-
ChartButton(
81-
title = getString(R.string.title_bar_with_line_chart),
82-
onClick = {
83-
startActivity(
84-
Intent(
85-
this@MainActivity,
86-
CombinedLineAndBarChartActivity::class.java
87-
)
88-
)
89-
addActivityInOutAnim()
90-
})
91-
ChartButton(
92-
title = getString(R.string.bubble_chart),
93-
onClick = {
94-
startActivity(
95-
Intent(
96-
this@MainActivity,
97-
BubbleChartActivity::class.java
98-
)
99-
)
100-
addActivityInOutAnim()
101-
})
102-
}
103-
}
29+
@Composable
30+
private fun ChartsMenu() {
31+
Scaffold(modifier = Modifier.fillMaxSize(),
32+
backgroundColor = YChartsTheme.colors.background,
33+
topBar = { AppBar() }) {
34+
Column(
35+
modifier = Modifier
36+
.padding(it)
37+
.fillMaxSize(),
38+
verticalArrangement = Arrangement.Center
39+
) {
40+
ChartButton(title = getString(R.string.title_bar_chart), onClick = {
41+
startActivity(
42+
Intent(
43+
this@MainActivity, BarChartActivity::class.java
44+
)
45+
)
46+
addActivityInOutAnim()
47+
})
48+
ChartButton(title = getString(R.string.title_line_chart), onClick = {
49+
startActivity(
50+
Intent(
51+
this@MainActivity, LineChartActivity::class.java
52+
)
53+
)
54+
addActivityInOutAnim()
55+
})
56+
57+
ChartButton(title = getString(R.string.title_wave_chart), onClick = {
58+
startActivity(
59+
Intent(
60+
this@MainActivity, WaveChartActivity::class.java
61+
)
62+
)
63+
addActivityInOutAnim()
64+
})
65+
66+
ChartButton(title = getString(R.string.title_pie_chart), onClick = {
67+
startActivity(
68+
Intent(
69+
this@MainActivity, PieChartActivity::class.java
70+
)
71+
)
72+
addActivityInOutAnim()
73+
})
74+
ChartButton(title = getString(R.string.title_donut_chart), onClick = {
75+
startActivity(
76+
Intent(
77+
this@MainActivity, DonutChartActivity::class.java
78+
)
79+
)
80+
addActivityInOutAnim()
81+
})
82+
ChartButton(title = getString(R.string.title_bar_with_line_chart), onClick = {
83+
startActivity(
84+
Intent(
85+
this@MainActivity, CombinedLineAndBarChartActivity::class.java
86+
)
87+
)
88+
addActivityInOutAnim()
89+
})
90+
ChartButton(title = getString(R.string.bubble_chart), onClick = {
91+
startActivity(
92+
Intent(
93+
this@MainActivity, BubbleChartActivity::class.java
94+
)
95+
)
96+
addActivityInOutAnim()
97+
})
10498
}
10599
}
106100
}
107101

108102

109103
private fun addActivityInOutAnim() {
110104
overridePendingTransition(
111-
R.anim.move_right_in_activity,
112-
R.anim.move_left_out_activity
105+
R.anim.move_right_in_activity, R.anim.move_left_out_activity
113106
)
114107
}
115108
}
116109

117110
@Composable
118111
private fun AppBar() {
119-
TopAppBar(
120-
modifier = Modifier
121-
.fillMaxWidth(),
112+
TopAppBar(modifier = Modifier.fillMaxWidth(),
122113
backgroundColor = YChartsTheme.colors.button,
123114
elevation = 6.dp,
124115
title = {
@@ -128,8 +119,7 @@ private fun AppBar() {
128119
textAlign = TextAlign.Center,
129120
style = YChartsTheme.typography.header
130121
)
131-
}
132-
)
122+
})
133123
}
134124

135125
@Composable
@@ -140,7 +130,8 @@ private fun ChartButton(title: String, onClick: () -> Unit) {
140130
modifier = Modifier
141131
.padding(end = 10.dp, start = 10.dp)
142132
.fillMaxWidth()
143-
.height(50.dp), onClick = onClick,
133+
.height(50.dp),
134+
onClick = onClick,
144135
colors = ButtonDefaults.buttonColors(backgroundColor = YChartsTheme.colors.button)
145136
) {
146137
Text(

app/src/main/java/co/yml/ycharts/app/presentation/BubbleChartActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ private fun BubbleChartWithGrid(pointsData: List<Point>) {
110110
val xAxisData = AxisData.Builder()
111111
.axisStepSize(30.dp)
112112
.steps(pointsData.size - 1)
113-
.labelData { i -> i.toString() }
113+
.labelData { i -> pointsData[i].x.toInt().toString() }
114114
.labelAndAxisLinePadding(15.dp)
115115
.build()
116116

@@ -153,7 +153,7 @@ private fun SolidBubbleChart(pointsData: List<Point>) {
153153
val xAxisData = AxisData.Builder()
154154
.axisStepSize(30.dp)
155155
.steps(pointsData.size - 1)
156-
.labelData { i -> i.toString() }
156+
.labelData { i ->pointsData[i].x.toInt().toString()}
157157
.labelAndAxisLinePadding(15.dp)
158158
.build()
159159

app/src/main/java/co/yml/ycharts/app/presentation/PieChartActivity.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ private fun SimplePiechart(context: Context) {
110110
Legends(legendsConfig = DataUtils.getLegendsConfigFromPieChartData(pieChartData, 3))
111111
PieChart(
112112
modifier = Modifier
113-
.width(400.dp)
113+
.fillMaxWidth()
114114
.height(400.dp),
115115
pieChartData,
116116
pieChartConfig
@@ -145,7 +145,7 @@ private fun PiechartWithSliceLables(context: Context) {
145145
Legends(legendsConfig = DataUtils.getLegendsConfigFromPieChartData(pieChartData, 3))
146146
PieChart(
147147
modifier = Modifier
148-
.width(400.dp)
148+
.fillMaxWidth()
149149
.height(400.dp),
150150
pieChartData,
151151
pieChartConfig

0 commit comments

Comments
 (0)