Android集成统计图 饼状图 折线图 和 柱状图
来源:互联网 发布:php开源博客系统源码 编辑:程序博客网 时间:2024/05/22 08:18
先上效果图:
使用到第三方的Jar包:下载链接:
下载地址
下载好之后 添加到buildPath
下面是布局文件中的代码:只需要使用一个空白的布局文件去接收存放这个图形就行
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#eceff4" android:orientation="vertical" tools:context="${relativePackage}.${activityClass}" > <!-- 导航栏 --> <RelativeLayout android:id="@+id/nav_bar_top_ll" android:layout_width="match_parent" android:layout_height="@dimen/height64" android:background="@drawable/nav_bar_bg_selector" android:gravity="center_vertical" android:orientation="horizontal" > <Button android:id="@+id/more_nav_bar_left_btn" android:layout_width="@dimen/width50" android:layout_height="match_parent" android:background="@null" android:drawableLeft="@drawable/go_back_icon" android:paddingLeft="@dimen/width18" /> <View android:id="@+id/more_nav_bar_right_btn" android:layout_width="@dimen/width50" android:layout_height="match_parent" android:layout_alignParentRight="true" /> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_toLeftOf="@id/more_nav_bar_right_btn" android:layout_toRightOf="@id/more_nav_bar_left_btn" android:gravity="center" android:text="当天订单统计" android:textColor="@color/black" android:textSize="@dimen/tSize20" /> </RelativeLayout> <!-- 导航栏 end --> <LinearLayout android:id="@+id/rootView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="16dp" android:orientation="vertical" > </LinearLayout></LinearLayout>
下面是在activity中的配置
private LinearLayout rootView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_days_order); rootView = (LinearLayout) findViewById(R.id.rootView); // 导航栏返回按钮的点击事件 Button back = (Button) findViewById(R.id.more_nav_bar_left_btn); back.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { finish(); } }); initData(); } /** * *@Description: 填充数据 *@Author: gyz *@Since: 2017-1-3上午11:24:26 */ private void initData() { ArrayList<ChartBean> list=new ArrayList<ChartBean>(); list.add(new ChartBean("8月份", 167649,"#04FE7C")); list.add(new ChartBean("9月份", 227347,"#AFD8F8")); list.add(new ChartBean("10月份", 232565,"#8BBA00")); list.add(new ChartBean("11月份", 285350,"#FF8E46")); rootView.removeAllViews(); rootView.addView(getPieView(this, list)); } private GraphicalView getPieView(Context context, List<ChartBean> list) { final CategorySeries series = new CategorySeries("pie"); final DefaultRenderer renderer = new DefaultRenderer(); for (ChartBean b : list) { series.add(b.label, b.value); SimpleSeriesRenderer r = new SimpleSeriesRenderer(); r.setColor(Color.parseColor(b.color)); r.setDisplayBoundingPoints(true); r.setDisplayChartValuesDistance(5); r.setDisplayChartValues(true); r.setChartValuesTextSize(20); renderer.addSeriesRenderer(r); } renderer.setLabelsColor(Color.BLACK); renderer.setShowLabels(true); renderer.setLabelsTextSize(25); renderer.setLegendTextSize(30); renderer.setDisplayValues(true); renderer.setPanEnabled(false);// 移动 renderer.setZoomEnabled(false);// 缩放 renderer.setAntialiasing(true); renderer.setClickEnabled(true); final GraphicalView view = ChartFactory.getPieChartView(context, series, renderer); view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { SeriesSelection seriesSelection = view.getCurrentSeriesAndPoint(); if (seriesSelection != null) { for (int i = 0; i < series.getItemCount(); i++) { renderer.getSeriesRendererAt(i).setHighlighted(i == seriesSelection.getPointIndex()); } view.repaint(); } } }); return view; }
chartBean
public class ChartBean implements Parcelable{ public String label; public int value; public String color; public ChartBean(String label, int value, String color) { this.label = label; this.value = value; this.color = color; } @Override public String toString() { return "ChartBean [label=" + label + ", value=" + value + ", color=" + color + "]"; } public ChartBean(Parcel source){ this.label=source.readString(); this.value=source.readInt(); this.color=source.readString(); } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(label); dest.writeInt(value); dest.writeString(color); } //实例化静态内部对象CREATOR实现接口Parcelable.Creator public static final Parcelable.Creator<ChartBean> CREATOR = new Creator<ChartBean>() { @Override public ChartBean[] newArray(int size) { return new ChartBean[size]; } //将Parcel对象反序列化为ParcelableDate @Override public ChartBean createFromParcel(Parcel source) { return new ChartBean(source); } }; }
以上就是简单的饼状图集成步骤
祝大家在2017年,事业顺利,工作愉快,生活幸福美满!
2 0
- Android集成统计图 饼状图 折线图 和 柱状图
- Android集成统计图 饼状图 折线图 和 柱状图
- Android自定义统计图(柱状图,折线图,饼状图)
- Android自定义统计图(柱状图,折线图,饼状图)
- Android自定义统计图(柱状图,折线图,饼状图)
- Android自定义统计图(柱状图,折线图,饼状图)
- Android自定义统计图(柱状图,折线图,饼状图)
- (转)Android自定义统计图(柱状图,折线图,饼状图)
- android canvas绘制折线图和柱状图
- android实现折线图和柱状图
- Android 绘制折线和柱状图
- C# 绘制统计图(柱状图, 折线图, 扇形图)
- C# 绘制统计图(柱状图, 折线图, 扇形图)
- C# 绘制统计图(柱状图, 折线图, 扇形图)
- C# 绘制统计图(柱状图, 折线图, 扇形图)
- C# 绘制统计图(柱状图, 折线图, 扇形图)
- C# 绘制统计图(柱状图, 折线图, 扇形图)
- C# 绘制统计图(柱状图, 折线图, 扇形图)
- 使用application实现网页计数器
- 使用tomcat-maven-plugin部署的配置及方法
- linux内存检查及本身程序解决方案!!!
- Leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal
- Linux管理员不可不知的五大命令 工具 - 51CTO.COM
- Android集成统计图 饼状图 折线图 和 柱状图
- 使用firefox的firebug插件进行网页js调试----firebug使用
- How to Install Python 2.7 on CentOS6.5
- C++编程学习50个经典网站
- 数组中两个只出现一次的数字
- JS之property和attribute
- SQLServer中的全局变量
- jersey使用方法
- PHP-FPM stop/reload: Unknown instance, service status `stop/waiting`