如何在MPAndroidChart Xamarin中围绕barchart的百分比?

时间:2016-08-03 13:29:44

标签: android xamarin charts xamarin.android mpandroidchart

public class YourValueFormatter : IValueFormatter
{


    public IntPtr Handle
    {
        get;
    }
    public void Dispose()
    {
        throw new NotImplementedException();
    }



    private DecimalFormat mFormat;

    public YourValueFormatter() {
        mFormat = new DecimalFormat("###,###,###"); // use no decimals
    }

    public String GetFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) {

        // This method never called.
        return Math.Round(value)+""; 
    }


}

这就是我将格式化程序设置为数据

的方法
data.SetValueFormatter(new YourValueFormatter());

也尝试在像这样的数据集上设置它

dataset.ValueFormatter=new YourValueFormatter();

在许多方面尝试过,但没有为我工作。

我想像这样圆棒化

2.00到2%(预定义百分比格式化程序格式化,如此2.0%,但我需要2%)

420.0至420

lib版本:2.2.3.2

1 个答案:

答案 0 :(得分:3)

当你实现java接口时,你必须继承Java.Lang.Object。如果你看一下构建输出,你会发现类似的东西:

  

键入' YourValueFormatter'实现IValueFormatter但不从Java.Lang.Object继承。它不受支持。

<强>正确

public class YourValueFormatter : Java.Lang.Object, IValueFormatter
{
    private DecimalFormat mFormat;

    public YourValueFormatter() {
        mFormat = new DecimalFormat("###,###,###"); // use no decimals
    }

    public String GetFormattedValue(float value, Entry entry, int dataSetIndex, ViewPortHandler viewPortHandler) 
    {
        // This method never called.
        return Math.Round(value)+""; 
    }
}

现在应该调用GetFormattedValue