1 Star 70 Fork 32

John-逍遥 / android_plugin_readme

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README_linechart.md 3.41 KB
一键复制 编辑 原始数据 按行查看 历史
John-逍遥 提交于 2021-08-08 01:08 . 新增md

MPAndroidChart 线图 代码展示

以下只展示关键部分

工程

build.gradle

repositories {
    maven { url 'https://maven.aliyun.com/repository/google' }
    maven { url 'https://maven.aliyun.com/repository/jcenter' }
    maven { url "https://maven.aliyun.com/repository/central" }
    maven { url "https://maven.aliyun.com/repository/gradle-plugin" }
}

gradle 依赖引用

dependencies {
    implementation 'com.github.testpress:MPAndroidChart:v3.0.0-beta2'
}
MainActivity.kt
package com.lujianfei.plugin13_1

import android.content.Context
import android.content.Intent
import android.net.Uri
import android.view.View
import android.view.inputmethod.InputMethodManager
import android.widget.FrameLayout
import com.github.testpress.mikephil.charting.charts.LineChart
import com.github.testpress.mikephil.charting.data.Entry
import com.github.testpress.mikephil.charting.data.LineData
import com.github.testpress.mikephil.charting.data.LineDataSet
import com.github.testpress.mikephil.charting.interfaces.datasets.ILineDataSet
import com.lujianfei.module_plugin_base.base.BasePluginActivity
import com.lujianfei.module_plugin_base.beans.PluginActivityBean
import com.lujianfei.module_plugin_base.utils.DensityUtils
import com.lujianfei.module_plugin_base.widget.PluginToolBar


class MainActivity : BasePluginActivity() {
    companion object {
        const val TAG = "MainActivity13_1"
    }

    private var lineChart : LineChart ?= null
    private var chartContainer: FrameLayout ?= null

    override fun resouceId(): Int = R.layout.activity_main

    override fun initView() {
        chartContainer = findViewById(R.id.chartContainer)
        initChartView()
        initChartData()
    }
    
    private fun initChartView() {
        that?.let {
            lineChart = LineChart(it)
            lineChart?.apply {
                DensityUtils.getScreenHeight()?.let { screenHeight ->
                    val lp = FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,screenHeight / 2 )
                    lp.topMargin = DensityUtils.dip2px(20f)
                    layoutParams = lp
                }
            }
            chartContainer?.addView(lineChart)
        }
    }

    private fun initChartData() {
        val values = arrayListOf<Entry>()
        values.add(Entry(5f, 50f))
        values.add(Entry(10f, 66f))
        values.add(Entry(15f, 120f))
        values.add(Entry(20f, 30f))
        values.add(Entry(35f, 10f))
        values.add(Entry(40f, 110f))
        values.add(Entry(45f, 30f))
        values.add(Entry(50f, 160f))
        values.add(Entry(100f, 30f))

        val mLineDataSet = LineDataSet(values, "Label")
        val dataSets = arrayListOf<ILineDataSet>()
        //添加数据集
        dataSets.add(mLineDataSet)

        val mLineData = LineData(dataSets)
        lineChart?.data = mLineData
    }   
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    >   

    <FrameLayout
        android:id="@+id/chartContainer"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>
Android
1
https://gitee.com/lujianfei/android_plugin_readme.git
git@gitee.com:lujianfei/android_plugin_readme.git
lujianfei
android_plugin_readme
android_plugin_readme
master

搜索帮助