关于android实现绘制曲线图或者折线图功能,有很多第三方架包,也可以自己画 ,不过不建议自己画,第一时间浪费掉了 ,第二性能还不一定好,既然有第三方的,为什么不直接使用第三方的呢?
刚开始我使用的是achartengine 这个第三方架包 ,真的是不咋地啊 ,做出来给boss看 各种不行,也不知道怎么改了,没办法 只有换其他的 ,后来到网上去找找 实在找不到了 ,只有去问问其他做技术的了,他们给我推荐了这个MpChartLib,GitHub的地址为: 哈哈 这次集成更简单 而且boss一看就通过了,想想之前的那个真苦逼啊 , 好了 废话不多说了 ,老规矩,先看工程结构图:
代码真的很简单,就一个类这里写代码片
package com.example.linedemo
import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.view.View
import android.view.View.OnClickListener
import android.view.WindowManager
import android.widget.ImageView
import android.widget.TextView
import java.util.ArrayList
import java.util.HashMap
import java.util.List
import java.util.Map
import com.github.mikephil.charting.charts.CombinedChart
import com.github.mikephil.charting.charts.CombinedChart.DrawOrder
import com.github.mikephil.charting.components.XAxis
import com.github.mikephil.charting.components.XAxis.XAxisPosition
import com.github.mikephil.charting.components.YAxis
import com.github.mikephil.charting.data.BarData
import com.github.mikephil.charting.data.BarDataSet
import com.github.mikephil.charting.data.BarEntry
import com.github.mikephil.charting.data.BubbleData
import com.github.mikephil.charting.data.BubbleDataSet
import com.github.mikephil.charting.data.BubbleEntry
import com.github.mikephil.charting.data.CandleData
import com.github.mikephil.charting.data.CandleDataSet
import com.github.mikephil.charting.data.CandleEntry
import com.github.mikephil.charting.data.CombinedData
import com.github.mikephil.charting.data.Entry
import com.github.mikephil.charting.data.LineData
import com.github.mikephil.charting.data.LineDataSet
import com.github.mikephil.charting.data.ScatterData
import com.github.mikephil.charting.data.ScatterDataSet
import com.github.mikephil.charting.utils.ColorTemplate
import android.graphics.Color
public class chartView extends Activity implements OnClickListener {
private Intent intent
private CombinedChart mChart
private final int itemcount = 12
private List months = new ArrayList()
private List
最后再来看下布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="44dp"
android:background="#67ade9"
android:gravity="center_vertical" >
<TextView
android:id="@+id/title_bar_name"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:ellipsize="end"
android:gravity="center"
android:singleLine="true"
android:text="坐姿曲线图"
android:textColor="#ffffff"
android:textSize="17dp" />
<ImageView
android:id="@+id/backbtn"
android:layout_width="45dp"
android:layout_height="40dp"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:src="@drawable/go_back" />
RelativeLayout>
<com.github.mikephil.charting.charts.CombinedChart
android:id="@+id/chart1"
android:layout_width="match_parent"
android:layout_height="match_parent" />
LinearLayout>
最后看下运行后的效果图吧:
Demo下载地址:点击下载