| /* |
| * Copyright 2012 AndroidPlot.com |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.androidplot.demos; |
| |
| import android.app.Activity; |
| import android.graphics.*; |
| import android.os.Bundle; |
| import android.widget.SeekBar; |
| import android.widget.TextView; |
| import com.androidplot.pie.PieChart; |
| import com.androidplot.pie.PieRenderer; |
| import com.androidplot.pie.Segment; |
| import com.androidplot.pie.SegmentFormatter; |
| |
| /** |
| * The simplest possible example of using AndroidPlot to plot some data. |
| */ |
| public class SimplePieChartActivity extends Activity |
| { |
| |
| private TextView donutSizeTextView; |
| private SeekBar donutSizeSeekBar; |
| |
| private PieChart pie; |
| |
| private Segment s1; |
| private Segment s2; |
| private Segment s3; |
| private Segment s4; |
| |
| @Override |
| public void onCreate(Bundle savedInstanceState) |
| { |
| |
| super.onCreate(savedInstanceState); |
| setContentView(R.layout.pie_chart); |
| |
| // initialize our XYPlot reference: |
| pie = (PieChart) findViewById(R.id.mySimplePieChart); |
| |
| |
| donutSizeSeekBar = (SeekBar) findViewById(R.id.donutSizeSeekBar); |
| |
| donutSizeSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { |
| @Override |
| public void onProgressChanged(SeekBar seekBar, int i, boolean b) {} |
| |
| @Override |
| public void onStartTrackingTouch(SeekBar seekBar) {} |
| |
| @Override |
| public void onStopTrackingTouch(SeekBar seekBar) { |
| pie.getRenderer(PieRenderer.class).setDonutSize(seekBar.getProgress()/100f, |
| PieRenderer.DonutMode.PERCENT); |
| pie.redraw(); |
| updateDonutText(); |
| } |
| }); |
| |
| donutSizeTextView = (TextView) findViewById(R.id.donutSizeTextView); |
| updateDonutText(); |
| |
| s1 = new Segment("s1", 10); |
| s2 = new Segment("s2", 1); |
| s3 = new Segment("s3", 10); |
| s4 = new Segment("s4", 10); |
| |
| EmbossMaskFilter emf = new EmbossMaskFilter( |
| new float[]{1, 1, 1}, 0.4f, 10, 8.2f); |
| |
| SegmentFormatter sf1 = new SegmentFormatter(); |
| sf1.configure(getApplicationContext(), R.xml.pie_segment_formatter1); |
| |
| sf1.getFillPaint().setMaskFilter(emf); |
| |
| SegmentFormatter sf2 = new SegmentFormatter(); |
| sf2.configure(getApplicationContext(), R.xml.pie_segment_formatter2); |
| |
| sf2.getFillPaint().setMaskFilter(emf); |
| |
| SegmentFormatter sf3 = new SegmentFormatter(); |
| sf3.configure(getApplicationContext(), R.xml.pie_segment_formatter3); |
| |
| sf3.getFillPaint().setMaskFilter(emf); |
| |
| SegmentFormatter sf4 = new SegmentFormatter(); |
| sf4.configure(getApplicationContext(), R.xml.pie_segment_formatter4); |
| |
| sf4.getFillPaint().setMaskFilter(emf); |
| |
| pie.addSeries(s1, sf1); |
| pie.addSeries(s2, sf2); |
| pie.addSeries(s3, sf3); |
| pie.addSeries(s4, sf4); |
| |
| pie.getBorderPaint().setColor(Color.TRANSPARENT); |
| pie.getBackgroundPaint().setColor(Color.TRANSPARENT); |
| } |
| |
| protected void updateDonutText() { |
| donutSizeTextView.setText(donutSizeSeekBar.getProgress() + "%"); |
| } |
| } |