1. 程式人生 > >HelloCharts圖表庫之餅狀圖

HelloCharts圖表庫之餅狀圖

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <lecho.lib.hellocharts.view.PieChartView
        android:id
="@+id/pcv" android:layout_width="match_parent" android:layout_height="match_parent" />
</LinearLayout>

3,在Activity中的處理

public class MyPieChartActivity extends Activity {

    private PieChartView chart;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super
.onCreate(savedInstanceState); setContentView(R.layout.activity_mypiechart); chart = (PieChartView) findViewById(R.id.pcv); chart.setCircleFillRatio(0.8f);//設定餅狀圖佔整個view的比例 chart.setChartRotationEnabled(true);//設定餅狀圖可以旋轉 chart.setOnValueTouchListener(new PieChartOnValueSelectListener() { @Override
public void onValueSelected(int i, SliceValue sliceValue) { } @Override public void onValueDeselected() { } }); generateData(); } private void generateData() { int sliceNum = 7; List<SliceValue> sliceValues = new ArrayList<>(); for (int i = 0; i < sliceNum; i++) { sliceValues.add(new SliceValue((float) (Math.random() * 20 + 10), ChartUtils.pickColor())); } PieChartData data = new PieChartData(sliceValues); data.setHasLabels(false); data.setHasLabelsOnlyForSelected(true); data.setHasLabelsOutside(true); data.setHasCenterCircle(true); data.setCenterCircleColor(Color.BLUE);//設定空心的顏色 data.setCenterCircleScale(0.5f);//設定空心所佔的比例,預設0.6f data.setCenterText1("hello"); data.setSlicesSpacing(12); //只有設定中間空心才能有效設定文字 Typeface tf = Typeface.createFromAsset(getAssets(), "Roboto-Italic.ttf"); data.setCenterText1Typeface(tf); // Get font size from dimens.xml and convert it to sp(library uses sp values). data.setCenterText1FontSize(ChartUtils.px2sp(getResources().getDisplayMetrics().scaledDensity, (int) getResources().getDimension(R.dimen.pie_chart_text1_size))); chart.setPieChartData(data); } }

餅狀圖中幾個重要的方法:
PieChartView:
1,setCircleFillRatio(0.8f);//設定餅狀圖佔整個view的比例
2,chart.setChartRotationEnabled(true);//設定餅狀圖可以旋轉

PieChartData:
1,setSlicesSpacing(int i);//設定每一塊之間的間隙
2,setHasLabels(boolean b);//是否顯示數值標籤
3,setHasLabelsOnlyForSelected(booelan b);//是否僅在被選中的時候顯示數值標籤
4,setHasLabelsOutside(boolean b);//數值標籤在餅內還是餅外
5,setHasCenterCircle(boolean b);//餅狀圖是否空心、
6,setCenterText1(String text);//設定空心處的文字
7,setCenterText2(String text);//設定空心出的文字
8,setCenterText1Typeface( Typeface tf);//設定文字的樣式
9,setCenterText1FontSize();//設定文字的大小
10,setCenterText1Color();//設定文子的顏色
11,setValueSelectionEnabled(boolean b);//設定數值標籤在被選中時出現