android自定义趋势图
来源:互联网 发布:达内大数据学费 编辑:程序博客网 时间:2024/05/16 07:19
之前项目需求里有一个需求是要根据每周的天气温度去绘制一个趋势图,这个图不基于XY坐标,就是一个单纯的趋势图,百度后看了一些博客,大体上有了一些思路,下面是整个趋势图的效果图:
最下面的点线图就是要做的效果。
下面贴出趋势图示例代码:
package com.example.testxyjar;import utils.XYViewDrawBitmap;import utils.XYViewDrawLine;import utils.XYViewDrawPointer;import utils.XYViewDrawText;import view.XYView;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Color;import android.graphics.drawable.BitmapDrawable;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.view.Menu;import bean.XYViewBitmapBean;import bean.XYViewLineBean;import bean.XYViewPointerBean;import bean.XYViewTextBean;public class MainActivity extends Activity { private XYView xyview; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initCache(); initView(); initData(); } private void initCache() { } private void initView() { xyview = (XYView) findViewById(R.id.main_page_view_xyview); } private void initData() { // 第一个点 XYViewPointerBean xyPointer = new XYViewPointerBean(); float data[] = { 10.0f, 20.0f, -10.0f, 40.0f, 20.0f, 50.0f }; xyPointer.setData(data); xyPointer.setColor(Color.RED); xyPointer.setStrokeWidth(20.0f); XYViewDrawPointer xyViewDrawPointer = new XYViewDrawPointer(xyPointer); xyview.addXYViewDrawable(xyViewDrawPointer); // 画图 XYViewBitmapBean xybitmap = new XYViewBitmapBean(); float dataBitmap[] = { 10.0f, 20.0f, -10.0f, 40.0f, 20.0f, 50.0f }; Drawable d = getResources().getDrawable( R.drawable.weather_temperature_point_icon_high); BitmapDrawable bd = (BitmapDrawable) d; Bitmap b = bd.getBitmap(); Bitmap[] bs = { b, b, b, b, b, b }; xybitmap.setY_away(40); xybitmap.setData(dataBitmap); xybitmap.setBitmapData(bs); XYViewDrawBitmap xyViewDrawBitmap = new XYViewDrawBitmap(xybitmap); xyview.addXYViewDrawable(xyViewDrawBitmap); // 第一个线 XYViewLineBean xyLineBean = new XYViewLineBean(); xyLineBean.setData(data); xyLineBean.setColor(Color.BLACK); xyLineBean.setStrokeWidth(2.0f); XYViewDrawLine xyViewLine = new XYViewDrawLine(xyLineBean); xyview.addXYViewDrawable(xyViewLine); // XYViewTextBean xyTexter = new XYViewTextBean(); float dataText[] = { 10.0f, 20.0f, -10.0f, 40.0f, 20.0f, 50.0f }; String [] dataStrs={"大娃","二娃","三娃","四娃","五娃","六娃"}; xyTexter.setData(dataText); xyTexter.setColor(Color.RED); xyTexter.setStrokeWidth(1.0f); xyTexter.setTextSize(18.0f); xyTexter.setTextData(dataStrs); XYViewDrawText xyViewTexter = new XYViewDrawText(xyTexter); xyview.addXYViewDrawable(xyViewTexter); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; }}代码中用到的jar包以上传到我的资源里,如有求要,请下载使用。
0 0
- android自定义趋势图
- Android 自定义统计趋势图
- Android自定义View-折线趋势图
- android折线趋势图
- android 软件开发趋势
- android天气预报应用开发(三)---- 趋势图界面绘制
- Android实现天气预报温度/气温折线趋势图
- 2011年Android产品趋势
- Android前景与未来趋势
- android_achartengine【 趋势图demo】
- achartengine画趋势图
- 实现天气趋势图
- 趋势
- 趋势
- 趋势
- 趋势
- 趋势
- 趋势
- 论中国的送礼文化
- android sqlite 数据库
- centos下启用未使用的硬盘空间
- 华超林 蜂鼓
- Android 各层中日志打印功能的应用
- android自定义趋势图
- 来自白菜【强烈推荐】最新淘宝零食店铺排行榜 零食控最爱逛的淘宝零食店
- 【LeetCode】Remove Duplicates from Sorted List II
- 一次是兄弟,一辈子都是兄弟
- 优化网站设计(二):使用CDN
- Android WIFI框架分析(2)
- Fragment和Activity直接跳转后数据传递
- 过年过节,还在送烟送酒吗,你OUT了
- 工厂模式总结