package com.example.my3.ui.dashboard
import android.graphics.Color
import android.os.Bundle
import android.provider.CalendarContract
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.fragment.app.Fragment
import androidx.lifecycle.Observer
import androidx.lifecycle.ViewModelProviders
import com.example.my3.R
import com.github.mikephil.charting.charts.BarChart
import com.github.mikephil.charting.charts.LineChart
import com.github.mikephil.charting.charts.PieChart
import com.github.mikephil.charting.data.*
import kotlinx.android.synthetic.*
class DashboardFragment : Fragment() {
private lateinit var dashboardViewModel: DashboardViewModel
lateinit var root:View
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
dashboardViewModel =
ViewModelProviders.of(this).get(DashboardViewModel::class.java)
root = inflater.inflate(R.layout.fragment_dashboard, container, false)
pieChart()//给饼状图写入数据
barchart()//给条形图写入数据
linechart()//给折线图写入数据
return root
}
fun pieChart(){
val pc = root.findViewById<PieChart>(R.id.piechart)
val data = ArrayList<PieEntry>()
data.add(PieEntry(36.7f,"有违章"))
data.add(PieEntry(36.7f,"无违章"))
val color = ArrayList<Int>()
color.add(Color.parseColor("#1abc9c"))
color.add(Color.parseColor("#ffa502"))
val pieDataSet = PieDataSet(data,"")
pieDataSet.setColors(color)
val pieData =PieData(pieDataSet)
pc.setData(pieData)
}
fun barchart(){
val barChart =root.findViewById<BarChart>(R.id.barchart)
val barEntryList = ArrayList<BarEntry>()
barEntryList.add(BarEntry(1f,11f))
barEntryList.add(BarEntry(2f,36f))
barEntryList.add(BarEntry(3f,23f))
val colors = ArrayList<Int>()
colors.add(Color.parseColor("#ffbb86FC"))
colors.add(Color.parseColor("#ffff00"))
colors.add(Color.parseColor("#ff00ff"))
val barDataSet = BarDataSet(barEntryList,"")
barDataSet.setColors(colors)
val barData = BarData(barDataSet)
barChart.setData(barData)
}
fun linechart(){
val lc = root.findViewById<LineChart>(R.id.linechart)
lc.setDrawBorders(true)
val entries = ArrayList<Entry>()
entries.add(Entry(1f,20f))
entries.add(Entry(2f,40f))
entries.add(Entry(3f,50f))
entries.add(Entry(4f,60f))
entries.add(Entry(5f,80f))
entries.add(Entry(6f,20f))
val lineDataSet = LineDataSet(entries,"温度")
lineDataSet.setColor(Color.parseColor("#ffbb86fc"))
val data = LineData(lineDataSet)
lc.setData(data)
}
}