Android行情走势图

本文分享了如何自己动手开发一个Android行情走势图,相对于使用已有的开源图表库,自定义图表可以更方便地调整样式。内容包括使用预览、代码分析和完整源码。
摘要由CSDN通过智能技术生成

        程序开发一个不会重复造轮子,但如果有时间自己造一个也不错。比如图表的,别人的开源代码集成了很多图表,而且修改图表的样式不方便,自己写一个的话就可以随意的更改样式,想咋改就咋改,而且改起来方便快捷。下面分享一下我自己写的一个行情走势图表。

1,使用预览

<cn.lib.ui.widget.LineChart
        android:id="@+id/lc_gold"
        android:layout_width="match_parent"
        android:layout_height="@dimen/y125"
        android:layout_marginLeft="@dimen/x10"
        line:lineWidth="1.5dp"
        line:ySplitCount="6" />
XML的layout里面加上行情布局,行情图表有个从左到右的伸展动态效果,图片效果如下。

2,代码分析

<pre name="code" class="html"><declare-styleable name="LineChart">
        <attr name="xData" format="integer"/>
        <attr name="yData" format="float"/>
        <attr name="ySplitCount" format="integer" />
        <attr name="lineWidth" format="dimension" />
        <attr name="lineColor" format="reference|color"/>
        <attr name="textSize" format="dimension"/>
    </declare-styleable>
 
添加行情图表的自定义属性文件,xData为X轴最大值,yData为Y轴最大值,ySplitCount为Y轴分段数量。
 
	/**
	 * 当输入的x轴数据最大值大于之前的mXData值,mXMaxData=xMaxData,否则不变(y也一样)
	 * @author HuangYuGuang
	 * Create on 2015年8月19日
	 * @param datas 输入的xy数据
	 */
	public void setData(List<LineData> datas){
		mDatas = datas;
		int xMaxData = 0;
		float yMaxData = 0;
		float yMinData = 1000000;
		for(int i=0; i<mDatas.size(); i++){
			LineData data = mDatas.get(i);
			if(data.getX() > xMaxData) xMaxData = data.getX();
			if(data.getY() > yMaxData) yMaxData = data.getY();
			if(data.getY() < yMinData) yMinData = data.getY();
		}
		
		float h = yMaxData - yMinData;
		if(h == 0) h=0.05f;
		if(xMaxData != 0) mXMaxData = xMaxData;
		if(yMaxData != 0) mYMaxData = yMaxData&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值