MPAndroidChart标记控件MarkerView的使用方法

Home / Android MrLee 2017-11-16 6296

  本站已经有几篇关于该曲线的使用文章,在此继续介绍下此共享库。MPAndroidChart是一款基于Android的开源图表库,MPAndroidChart不仅可以在Android设备上绘制各种统计图表,而且可以对图表进行拖动和缩放操作,应用起来非常灵活。MPAndroidChart同样拥有常用的图表类型:线型图、饼图、柱状图和散点图和雷达图。

github地址:https://github.com/PhilJay/MPAndroidChart

  

  MarkerView使用非常简单,但是有一点要注意,refreshContent方法重写必须调用父类的refreshContent方法,否则标记大小不能正确计算出来,也就是显示错误达不到我们的要求。

MarkerView marker = new MarkerView(this, R.layout.layout_markview) {
            private TextView view;
            @Override
            protected void onLayout(boolean changed, int l, int t, int r, int b) {
                super.onLayout(changed, l, t, r, b);
                view = (TextView) super.findViewById(R.id.id_value);
            }
            @Override
            public void refreshContent(Entry e, Highlight l) {
                // TODO Auto-generated method stub
                StringBuffer buffer = new StringBuffer();
                if (e.getData() instanceof Data) {
                    Data data = (Data) e.getData();
                    buffer.append(data.getDate());
                    buffer.append("\r\n");
                    buffer.append(data.getData());
                    buffer.append(":");
                    buffer.append(data.getStatus());
                    buffer.append("\r\n");
                    buffer.setLength(buffer.length() - 2);
                }
                view.setText(buffer);
                super.refreshContent(e, l);//必须调用父类的方法
            }
            @Override
            public MPPointF getOffset() {
                return new MPPointF(-getWidth() >> 1, -getHeight() >> 1);
            }
        };
        chart.setMarker(marker);

看看效果图吧


本文链接:https://www.it72.com/12283.htm

推荐阅读
最新回复 (0)
返回