use*_*117 6 charts android mpandroidchart
我在我的项目中使用了MPChart android 库,它满足了我的要求,但现在在我的项目中进行了新的增强,我遇到了一些问题。
如何使用带方向箭头的标记视图(意味着如果左侧没有空间,则标记视图应该在右侧)?
在我的项目中,可以有多个点使用相同的 x,y 值。那么如何为这些具有相同 x,y 值的点显示多个标记视图?
使用此解决方案(经过一些修改),我可以获得相同 x,y 值的多个标记视图,但它们相互覆盖,因此基本上用户只能看到一个标记视图。
小智 0
关于你的第一点-在我的项目中,我实现了drawMarkerView 的方法。为此,我创建了一个 CustomMarkerView 类,其中如果图形上没有右侧空间(如在我的项目中),则标记视图将向左显示。为此,实现下面的类。
public class CustomMarkerView extends MarkerView {
    private int uiScreenWidth;
    public CustomMarkerView(Context context, int layoutResource) {
        super(context, layoutResource);
        uiScreenWidth = getResources().getDisplayMetrics().widthPixels;
    }
    @Override
    public void draw(Canvas canvas, float posx, float posy) {
        // Checking and updating offsets.
        int w = getWidth();
        if ((uiScreenWidth - posx - w) < w) {
            posx -= w;
        }
        //  draw
        canvas.translate(posx, posy);
        draw(canvas);
        canvas.translate(-posx, -posy);
    }
}
Run Code Online (Sandbox Code Playgroud)
之后,将其添加 
CustomMarkerView mv = new CustomMarkerView(this, R.layout.your_markerview_layout);到您实现图表的类文件中。
然后,添加lineChart.setMarker(mv);到您的图表中。如果不符合您的预期,请修改位置posx and posy。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           176 次  |  
        
|   最近记录:  |