android饼状图表

    博客分类:
  • 移动android开发
Android XML

相信图表再很多统计应用都会应用,再这里我想向介绍一个第三方的jar包--j4lChartAndroid.jar,再这里基本上平时用到的图表都有,这里我们就只介绍饼状3d图表

1、xml文件

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"android:layout_width="fill_parent"

android:layout_height="fill_parent">

<LinearLayoutandroid:id="@+id/course_viewflipper"

android:background="#FFFFFF"android:layout_width="fill_parent"

android:layout_height="fill_parent">

</LinearLayout>

</LinearLayout>

2、activity类

publicclassShowImageextendsActivity {

/** Called when the activity is first created. */

ChartLoadercha=newChartLoader();

ChartPanelchartPanel;

staticList<ddd>list;

staticdouble[]valueList;

staticString[]labellist;//标签值

staticboolean[]gapsValueList;

staticFillStyle[]fillStyle_color;

staticChartColor[]color=newChartColor[] {

GraphicsProvider.getColor(ChartColor.CYAN),

GraphicsProvider.getColor(ChartColor.BLUE),

GraphicsProvider.getColor(ChartColor.GREEN),

GraphicsProvider.getColor(ChartColor.YELLOW),

GraphicsProvider.getColor(ChartColor.RED),

GraphicsProvider.getColor(ChartColor.SKYBLUE),

GraphicsProvider.getColor(ChartColor.PINK) };

staticint[]labelColor=newint[] { Color.CYAN, Color.BLUE,

Color.GREEN, Color.YELLOW, Color.RED, Color.parseColor("#00CCFF"), Color.parseColor("#ffc0cb") };

@Override

publicvoidonCreate(Bundle icicle) {

super.onCreate(icicle);

setContentView(R.layout.main);

list= getData();

getValues();

LinearLayout imageview = (LinearLayout) findViewById(R.id.course_viewflipper);

chartPanel=newChartPanel(this);

chartPanel.setChart(Example4());

imageview.addView(chartPanel);


}

publicList<ddd> getData() {

List<ddd> l =newArrayList<ddd>();

ddd d1 =newddd();

d1.setDoor("南门");

d1.setTotal(100);

ddd d2 =newddd();

d2.setDoor("西门");

d2.setTotal(200);

ddd d3 =newddd();

d3.setDoor("北门");

d3.setTotal(300);

ddd d4 =newddd();

d4.setDoor("东门");

d4.setTotal(400);

l.add(d1);

l.add(d2);

l.add(d3);

l.add(d4);

returnl;

}

classddd {

Stringdoor;

doubletotal;

publicString getDoor() {

returndoor;

}

publicvoidsetDoor(String door) {

this.door= door;

}

publicdoublegetTotal() {

returntotal;

}

publicvoidsetTotal(doubletotal) {

this.total= total;

}

}

publicvoidgetValues(){

valueList=newdouble[list.size()];//数值组

gapsValueList=newboolean[list.size()];//饼块之间是否分开组

fillStyle_color=newFillStyle[list.size()];//颜色组

labellist=newString[list.size()];// //图解label组

for(inti = 0; i <list.size(); i++) {

labellist[i] =list.get(i).getDoor();

valueList[i] =list.get(i).getTotal();

fillStyle_color[i] =newFillStyle(color[i]);

if(i<list.size()-1){

gapsValueList[i] =true;

}

}

}

// ==============================================

protectedvoidonDestroy() {

if(chartPanel!=null)

if(chartPanel.getChart() !=null)

chartPanel.getChart().stopUpdater();

super.onDestroy();

}

publicstaticChart Example4() {

PieDataSerie data1 =newPieDataSerie(valueList,fillStyle_color,

gapsValueList,labellist);

data1.valueFont= GraphicsProvider

.getFont("Arial", ChartFont.PLAIN, 14);

// legend

Legend l =newLegend();

l.background=newFillStyle(

GraphicsProvider.getColor(ChartColor.WHITE));

l.border=newLineStyle(1,

GraphicsProvider.getColor(ChartColor.BLACK),

LineStyle.LINE_NORMAL);

for(inti = 0; i <list.size(); i++) {

l.addItem(labellist[i],newFillStyle(color[i]));

}

// create title

Title title =newTitle("");

// plotter

PiePlotter plot =newPiePlotter();

// 3D effect

plot.effect3D=true;

plot.border=newLineStyle(1,GraphicsProvider.getColor(ChartColor.BLACK),LineStyle.LINE_NORMAL);

data1.textDistanceToCenter= 1.3;

plot.labelFormat="#PERCENTAGE#";

// create chart

Chart chart =newChart(title, plot,null,null);

// chart background

chart.back=newFillStyle(GraphicsProvider.getColor(ChartColor.WHITE));

// chart.back.gradientType = FillStyle.GRADIENT_VERTICAL;

// add legend

chart.legend= l;

// legend position and layout

chart.layout= Chart.LAYOUT_LEGEND_RIGHT;

chart.topMargin= 0.1;

chart.bottomMargin= 0.4;// 20%

chart.leftMargin=0.1;

l.verticalLayout=true;

// add data

chart.addSerie(data1);

chart.setHeight(250);

chart.setWidth(320);

returnchart;

}

}

  • android饼状图表_第1张图片

更多相关文章

  1. android仿微信朋友网、悬浮窗、时间轴、图表、刻度尺、RecyclerV
  2. 手撸一个Android饼状图表
  3. appium 【已解决】Android,每次启动手机中都会安装Appium setting
  4. 简单的 Android 系统主要版本对比图表
  5. android 图表引擎AChartEngine(线性图)
  6. Android之关于图表
  7. Android 图表
  8. Android-Charts,Android图形图表控件
  9. android 图表引擎AChartEngine(柱状图)

随机推荐

  1. Android(安卓)ListView异步加载图片乱序
  2. Android(安卓)从硬件到应用:一步一步向上
  3. Android:使用Gson解析复杂的JSON数据
  4. Android开发之实现图片自动滚动显示标签
  5. Android(安卓)开发中使用 SQLite 数据库
  6. 移植Android应用到Windows Phone 7的工具
  7. [置顶] Android启动过程——init,Zygote,
  8. Android(安卓)Data Storage --- Android(安
  9. Android(安卓)之 AsyncTask 异步任务
  10. Android常用开发工具的用法