标签:pieChart private 简易 add import new Android contents
Java代码
package com.example.it.myapplication;
import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.InputFilter;
import android.util.DisplayMetrics;
import android.widget.TextView;
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 java.util.ArrayList;
import java.util.List;
public class Main2Activity extends AppCompatActivity {
private PieChart pieChart;
private TextView txt1;
private TextView txt2;
private TextView txt3;
private TextView txt4;
//颜色集合
private List<Integer> colors;
//内容集合
private List<String> contents;
//数据值集合
private List<Float> arrayList;
//比例集合
private List<Entry> bili;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
pieChart=findViewById(R.id.bt);
txt1=findViewById(R.id.txt1);
txt2=findViewById(R.id.txt2);
txt3=findViewById(R.id.txt3);
txt4=findViewById(R.id.txt4);
PieData pieData=getPieData(4,100);
show(pieData,pieChart);
}
//设置常见的集合属性
private PieData getPieData(int count,float range)
{
colors=new ArrayList<Integer>();
colors.add(Color.rgb(200,150,200));
colors.add(Color.rgb(200,120,200));
colors.add(Color.rgb(200,130,200));
colors.add(Color.rgb(200,100,200));
contents=new ArrayList<String>();
contents.add("大巴");
contents.add("火车");
contents.add("器材");
contents.add("历史");
float m1=100;
float m2=200;
float m3=300;
float m4=400;
arrayList=new ArrayList<Float>();
arrayList.add(m1);
arrayList.add(m2);
arrayList.add(m3);
arrayList.add(m4);
runOnUiThread(new Runnable(){
@Override
public void run() {
txt1.setText(contents.get(0)+":"+arrayList.get(0));
txt2.setText(contents.get(1)+":"+arrayList.get(1));
txt3.setText(contents.get(2)+":"+arrayList.get(2));
txt4.setText(contents.get(3)+":"+arrayList.get(3));
}
});
bili=new ArrayList<>();
bili.add(new Entry(m1,0));
bili.add(new Entry(m2,1));
bili.add(new Entry(m3,2));
bili.add(new Entry(m4,3));
PieDataSet pieDataSet=new PieDataSet(bili,null);
//设置饼图的间距
pieDataSet.setSliceSpace(0f);
//设置饼图的颜色
pieDataSet.setColors(colors);
//设置饼图选中后的变长
DisplayMetrics metrics=getResources().getDisplayMetrics();
float fd=(metrics.densityDpi/160)*5;
pieDataSet.setSelectionShift(fd);
PieData pieData=new PieData(contents,pieDataSet);
return pieData;
}
//设置pieData的一些特效
private void show(PieData pieData,PieChart pieChart)
{
pieChart.setTransparentCircleRadius(64f);
pieChart.setHoleRadius(60f);
//添加右下备注
pieChart.setDescription("");
//添加文字 在饼图之中
pieChart.setDrawCenterText(true);
pieChart.setDrawHoleEnabled(true);
//设置旋转的初始角度 sRA
pieChart.setRotationAngle(90);
//可以手动旋转的开启 sRE
pieChart.setRotationEnabled(true);
//显示百分比的开启 sUPV
pieChart.setUsePercentValues(true);
//饼图中文字的显示 sCT
pieChart.setCenterText("Dow Store");
//设置数据 sDa
pieChart.setData(pieData);
//设置饼图
Legend mLegend=pieChart.getLegend();
mLegend.setXEntrySpace(7f);
mLegend.setYEntrySpace(5f);
pieChart.animateXY(1000, 1000); //设置动画
}
}
layout代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Main2Activity"
android:orientation="vertical"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
>
<com.github.mikephil.charting.charts.PieChart
android:layout_width="250dp"
android:layout_height="250dp"
android:id="@+id/bt"
android:layout_marginTop="20dp"
>
</com.github.mikephil.charting.charts.PieChart>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="111"
android:id="@+id/txt1"
android:layout_marginTop="20dp"
android:textSize="20dp"
android:padding="5dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="111"
android:id="@+id/txt2"
android:layout_marginTop="20dp"
android:textSize="20dp"
android:padding="5dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="111"
android:id="@+id/txt3"
android:layout_marginTop="20dp"
android:textSize="20dp"
android:padding="5dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="111"
android:id="@+id/txt4"
android:layout_marginTop="20dp"
android:textSize="20dp"
android:padding="5dp"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
架包:
标签:pieChart,private,简易,add,import,new,Android,contents 来源: https://blog.csdn.net/wh1236666/article/details/88964966
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。