栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

android-饼状图(PieChart)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

android-饼状图(PieChart)

1.

MainActivity
package com.example.bingzhuangtu;
import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Color;
import android.os.Bundle;
import android.util.DisplayMetrics;

import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.components.Legend;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieData;
import com.github.mikephil.charting.data.PieDataSet;
import com.github.mikephil.charting.formatter.ValueFormatter;
import com.github.mikephil.charting.utils.ViewPortHandler;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {

    private PieChart pieChart;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    private void initView() {
        pieChart=findViewById(R.id.pie_ch);
        //初始化饼状图数据类
        PieData pieData=getPieData();
        showChart(pieChart,pieData);
    }

    private void showChart(PieChart pieChart, PieData pieData) {
        //设置中间是够透明
        pieChart.setHoleColorTransparent(true);
//        设置饼状图的半径
        pieChart.setHoleRadius(60f);
        //饼状图中间添加文字
        pieChart.setDrawCenterText(true);
        //中间是空的
        pieChart.setDrawHoleEnabled(true);
        pieChart.setCenterText("家庭支出");
        //设置文字颜色和字号
        pieChart.setCenterTextSize(16f);
        pieChart.setCenterTextColor(Color.BLUE);
        //初始选择角度
        pieChart.setRotationAngle(90);
        //设置可旋转
        pieChart.setRotationEnabled(true);
        //设置成百分比可显示
        pieChart.setUsePercentValues(true);
        pieChart.setData(pieData);
        //设置比例图
        Legend legend=pieChart.getLegend();//获取比例图
        legend.setPosition(Legend.LegendPosition.RIGHT_OF_CHART);
        legend.setXEntrySpace(7f);
        legend.setYEntrySpace(15f);
        //设置初始动画
        pieChart.animateXY(1000,1000);
    }

    private PieData getPieData() {
//        衣食住行
        ArrayList xValues=new ArrayList<>();
        xValues.add("衣");
        xValues.add("食");
        xValues.add("住");
        xValues.add("行");
        xValues.add("其他");
        //衣食住行占得比例
        ArrayList yrrayList=new ArrayList();
        float q1=10;
        float q2=20;
        float q3=30;
        float q4=25;
        float q5=15;
        yrrayList.add(new Entry(q1,0));
        yrrayList.add(new Entry(q2,1));
        yrrayList.add(new Entry(q3,2));
        yrrayList.add(new Entry(q4,3));
        yrrayList.add(new Entry(q5,4));
        PieDataSet pieDataSet=new PieDataSet(yrrayList,"家庭支出");
        pieDataSet.setSliceSpace(1f);
        //饼状图的颜色
        ArrayList colorList=new ArrayList<>();
        colorList.add(Color.RED);
        colorList.add(Color.BLUE);
        colorList.add(Color.YELLOW);
        colorList.add(Color.GREEN);
        colorList.add(Color.GRAY);
        pieDataSet.setColors(colorList);
        //设置圆盘的文字颜色
        pieDataSet.setValueTextColor(Color.WHITE);
        pieDataSet.setValueTextSize(15f);
        pieDataSet.setValueFormatter(new ValueFormatter() {
            @Override
            public String getFormattedValue(float v, Entry entry, int i, ViewPortHandler viewPortHandler) {
                return ""+entry.getVal()+"%";
            }
        });
//        DisplayMetrics 分辨率
        DisplayMetrics mdisplayMetrics=getResources().getDisplayMetrics();
        float px=5*(mdisplayMetrics.densityDpi/160f);
        pieDataSet.setSelectionShift(px);
        PieData pie=new PieData(xValues,pieDataSet);
        return  pie;
    }
}

2界面





    
    

Bingzhuangtu(安卓饼状图).rar-互联网文档类资源-CSDN下载安卓饼状图更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/qq_36935391/61638647jar包  android studio导入jar教程  

CSDN

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号