关于android报表的制作
来源:互联网 发布:画漫画的软件 编辑:程序博客网 时间:2024/06/14 07:23
这篇文章是公司的一个报表项目,要求制作统计图,折线图和柱形图,下文只是初级的模版
</pre><pre name="code" class="java">package com.keyi.report;import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import com.github.mikephil.charting.charts.BarChart;import com.github.mikephil.charting.charts.LineChart;import com.github.mikephil.charting.components.Legend;import com.github.mikephil.charting.components.XAxis;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.Entry;import com.github.mikephil.charting.data.LineData;import com.github.mikephil.charting.data.LineDataSet;import java.util.ArrayList;/** * Created by Administrator on 2016/7/8. */public class ShopActivity extends Activity { private LineChart chart; private LineData data; private ArrayList<String> xVals; private LineDataSet dataSet; private ArrayList<LineDataSet> dataSets; private ArrayList<Entry> yVals; private BarChart barChart; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_shop); initData(); } private int[] mColors = new int[]{ Color.rgb(51, 118, 171), Color.rgb(89, 199, 250) }; private void initData() { dataSets = new ArrayList<>(); xVals = new ArrayList<>(); for (int j = 0; j < 30; j++) { xVals.add((j + 1) + ""); } for (int i = 0; i < 2; i++) { yVals = new ArrayList<>(); for (int j = 0; j < 30; j++) { yVals.add(new Entry((float) (Math.random() * 1000) + 3, j)); dataSet = new LineDataSet(yVals, ""); } dataSet.setColor(mColors[i]); dataSets.add(dataSet); } initView(dataSets); } private void initView(ArrayList<LineDataSet> dataSets) { chart = (LineChart) findViewById(R.id.linear); XAxis xAxis = chart.getXAxis(); xAxis.setPosition(XAxis.XAxisPosition.BOTTOM); Legend mLegend = chart.getLegend(); mLegend.setEnabled(false);// mLegend.setPosition(Legend.LegendPosition.BELOW_CHART_CENTER); //左下边显示// mLegend.setFormSize(12f);//比例块字体大小// mLegend.setXEntrySpace(10f);//设置距离饼图的距离,防止与饼图重合// mLegend.setYEntrySpace(10f);// mLegend.setTextColor(Color.BLUE);// mLegend.setTextSize(10f);// //设置比例块换行...// mLegend.setWordWrapEnabled(true);// mLegend.setForm(Legend.LegendForm.SQUARE);//设置比例块形状,默认为方块 data = new LineData(xVals, dataSets); data.setValueTextColor(Color.rgb(255, 0, 102)); data.setValueTextSize(10); chart.setDoubleTapToZoomEnabled(false); chart.setData(data); chart.getAxisRight().setEnabled(false); chart.animateY(0); chart.setGridBackgroundColor(Color.WHITE); chart.setDescription("单位:元"); barChart = (BarChart) findViewById(R.id.linear1); barChart.setBackgroundColor(Color.WHITE); barChart.setDoubleTapToZoomEnabled(false); barChart.setDrawBarShadow(false); barChart.getAxisRight().setEnabled(false); XAxis xAxis1 = barChart.getXAxis(); xAxis1.setPosition(XAxis.XAxisPosition.BOTTOM); ArrayList<String> xValues = new ArrayList<String>(); for (int i = 0; i < 12; i++) { xValues.add((i + 1) + "月"); } ArrayList<BarEntry> yValues = new ArrayList<BarEntry>(); int mult = 10000; for (int i = 0; i < 12; i++) { float val1 = (float) (Math.random() * mult) + mult / 2; float val2 = (float) (Math.random() * mult) + mult / 2; yValues.add(new BarEntry(new float[]{val1, val2}, i)); } // y轴的数据集合 BarDataSet barDataSet = new BarDataSet(yValues, ""); barDataSet.setColors(getColors()); ArrayList<BarDataSet> barDataSets = new ArrayList<BarDataSet>(); barDataSets.add(barDataSet); // add the datasets Legend mLegend1 = barChart.getLegend(); mLegend1.setEnabled(false); BarData barData = new BarData(xValues, barDataSets); barChart.setDescriptionColor(Color.parseColor("#FF02BAFF")); barChart.setDescription("单位:元"); barChart.setData(barData); } private int[] getColors() { int stacksize = 2; // have as many colors as stack-values per entry int[] colors = new int[stacksize]; colors[1] = Color.rgb(21, 112, 188); colors[0] = Color.rgb(8, 31, 93); return colors; }}
</pre><pre name="code" class="java">XML布局如下:
<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#f0f0f0" android:orientation="vertical"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="#f0f0f0" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="50dp" android:background="#367aaa" android:gravity="center" android:text="店铺概况" android:textColor="#fff" android:textSize="20dp" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="店铺概况" android:textColor="#666666" android:textSize="15dp" android:textStyle="bold" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginRight="10dp" android:layout_marginTop="10dp" android:gravity="right" android:text="2016年7月8日" android:textColor="#666666" android:textSize="13dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="34dp" android:layout_marginTop="8dp" android:background="#cfdbe7" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:textColor="#666666" android:textSize="15dp" android:textStyle="bold" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:text="销售额" android:textColor="#666666" android:textSize="15dp" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:text="成交额" android:textColor="#666666" android:textSize="15dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="34dp" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:paddingLeft="20dp" android:text="本日" android:textColor="#666666" android:textSize="15dp" android:textStyle="bold" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:text="19,396" android:textColor="#666666" android:textSize="15dp" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:text="286" android:textColor="#666666" android:textSize="15dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="34dp" android:background="#f6f6f6" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:paddingLeft="20dp" android:text="昨日" android:textColor="#666666" android:textSize="15dp" android:textStyle="bold" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:text="16,396" android:textColor="#666666" android:textSize="15dp" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:text="213" android:textColor="#666666" android:textSize="15dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="34dp" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:paddingLeft="20dp" android:text="本月" android:textColor="#666666" android:textSize="15dp" android:textStyle="bold" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:text="19,396" android:textColor="#666666" android:textSize="15dp" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:text="286" android:textColor="#666666" android:textSize="15dp" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="34dp" android:background="#f6f6f6" android:orientation="horizontal"> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:paddingLeft="20dp" android:text="上月" android:textColor="#666666" android:textSize="15dp" android:textStyle="bold" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:text="16,396" android:textColor="#666666" android:textSize="15dp" /> <TextView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="8dp" android:layout_weight="1" android:text="213" android:textColor="#666666" android:textSize="15dp" /> </LinearLayout> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="20dp" android:text="30天内销售额和成交额走势" android:textColor="#666666" android:textSize="15dp" /> <com.github.mikephil.charting.charts.LineChart android:id="@+id/linear" android:layout_width="match_parent" android:layout_height="400dp" android:layout_marginTop="10dp"></com.github.mikephil.charting.charts.LineChart> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="20dp" android:text="一年销售额和成交额" android:textColor="#666666" android:textSize="15dp" /> <com.github.mikephil.charting.charts.BarChart android:id="@+id/linear1" android:layout_width="match_parent" android:layout_height="400dp" android:layout_marginBottom="20dp" android:background="#f0f0f0"></com.github.mikephil.charting.charts.BarChart> </LinearLayout> </ScrollView></LinearLayout>
</pre><pre name="code" class="html">PS:需要导入mpandroidchartlibrary-2-1-6.jar这个JAR包
1 0
- 关于android报表的制作
- 关于 Excel 制作报表
- 关于Jaspersoft iReport4.7.0报表制作的一些问题
- 水晶报表的制作
- 简单报表的制作
- 报表的制作
- 报表的制作
- winform报表的制作
- android关于点九图的制作
- 【SSRS报表】制作一张像样的报表
- 【菁菁报表】常规报表的制作过程
- 【菁菁报表]】交叉报表的制作过程
- 几款好用的报表制作软件!!!
- Spread 制作报表的用法
- 分组报表的制作演示
- .NET MVC报表的制作
- RDLC 报表的制作(图文)
- JFrameChart制作简单的报表
- c语言==简介及相关常识(3)
- 经典蓝牙连接-蓝牙音箱或蓝牙耳机
- android学习14#--Handler消息传递机制实例应用
- scrollview嵌套gridview:scrollview不是置顶显示
- [iOS] 文字描边方法
- 关于android报表的制作
- 打电话,发短息,打开网页
- 求两个数的最大公约数
- Matlab BMP图像如何能运行在处理RAW图像程序中
- Android开发者应该使用FlatBuffers替代JSON?
- BZOJ 1115: [POI2009]石子游戏Kam
- 119. Pascal's Triangle II
- ACM刷题之HDU————Hat's Fibonacci
- 字符串排序