iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 5
0
Software Development

Kotlin 2018連續開發30天系列 第 5

Kotlin 2018連續開發30天 day 4 android 第三方工具 mpandroidchart-lineChar

droid 畫圖表的第三方工具

(二)LineChart
導入
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
XML中建立view

<com.github.mikephil.charting.charts.LineChart
    android:id="@+id/bar_line"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">

</com.github.mikephil.charting.charts.LineChart>

Activity中設定
val linechart = bar_line
設定資料
val entries = ArrayList()
entries.add(Entry(0F,4F))
entries.add(Entry(1f,1f))
entries.add(Entry(2f,2f))
entries.add(Entry(3f,4f))
entries.add(Entry(5f,10f))
設定圖表格式
val dataset = LineDataSet(entries,"Customized values")
dataset.color = ContextCompat.getColor(this,R.color.colorPrimary)
dataset.valueTextColor = ContextCompat.getColor(this,R.color.colorPrimaryDark)

    val xAxis = linechart.xAxis
        xAxis.position = XAxis.XAxisPosition.BOTTOM
    val months = arrayOf("Jan", "Feb", "Mar", "Apr","May","June")
    val formatter = IAxisValueFormatter{
        value, axis ->   months[value.toInt()]
    }
    
    xAxis.granularity = 1f
    xAxis.valueFormatter = formatter

    val yAxisRight = linechart.axisRight
    yAxisRight.setEnabled(false)

    val yAxisLeft = linechart.axisLeft
    yAxisLeft.setGranularity(1f)

    // Setting Data
    val data = LineData(dataset)
    linechart.setData(data)
    linechart.animateX(2500)
    //refresh
    linechart.invalidate()
    

完工


上一篇
Kotlin 2018連續開發30天 day3 第三方工具 mpandroidchart-BarChart
下一篇
Kotlin 2018連續開發30天 day 5 android 第三方工具 mpandroidchart-pieChart
系列文
Kotlin 2018連續開發30天30

1 則留言

0
Howard
iT邦新手 5 級 ‧ 2018-10-20 21:38:45

建議加一些完成的顯示圖片上去吧

我要留言

立即登入留言