Android集成统计图 饼状图 折线图 和 柱状图

来源:互联网 发布:wan微型端口感叹号 编辑:程序博客网 时间:2024/05/22 07:08
下面是布局文件中的代码:只需要使用一个空白的布局文件去接收存放这个图形就行
  • 1
  • 2
<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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
下面是在activity中的配置
  • 1
  • 2
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;    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
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);          }      };  

}宁波整形美容医院http://www.iyestar.com/

阅读全文
0 0
原创粉丝点击