你可以参考这个:https://github.com/aloisdeniel/Microcharts
这是一个关于如何在您的Fragment 中使用BarChart 的简单演示:
首先,将其添加到您的UI,MGradesView.axml:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<microcharts.droid.ChartView
android:id="@+id/chartView"
android:layout_width="match_parent"
android:layout_height="160dp" />
</LinearLayout>
</ScrollView>
其次,您的图表将需要一组数据条目:
var entries = new[]
{
new Entry(200)
{
Label = "January",
ValueLabel = "200",
Color = SKColor.Parse("#266489")
},
new Entry(400)
{
Label = "February",
ValueLabel = "400",
Color = SKColor.Parse("#68B9C0")
},
new Entry(-100)
{
Label = "March",
ValueLabel = "-100",
Color = SKColor.Parse("#90D585")
}
};
第三,从这些条目中实例化一个图表:
var chart = new BarChart() { Entries = entries };
像这样修改你的MGradeFragment.cs:
public class MGradeFragment : Fragment
{
public override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
}
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
SetHasOptionsMenu(true);
View view = LayoutInflater.From(Activity).Inflate(Resource.Layout.MGradesView, null);
var entries = new[]
{
new Entry(200)
{
Label = "January",
ValueLabel = "200",
Color = SKColor.Parse("#266489")
},
new Entry(400)
{
Label = "February",
ValueLabel = "400",
Color = SKColor.Parse("#68B9C0")
},
new Entry(-100)
{
Label = "March",
ValueLabel = "-100",
Color = SKColor.Parse("#90D585")
}
};
var chart = new BarChart() { Entries = entries };
var chartView = view.FindViewById<ChartView>(Resource.Id.chartView);
chartView.Chart = chart;
return view;
}
public override void OnCreateOptionsMenu(IMenu menu, MenuInflater inflater)
{
inflater.Inflate(Resource.Menu.menu_MGradeToolbar, menu);
}
}