Android Open Source - customhellochartdemo Axis






From Project

Back to project page customhellochartdemo.

License

The source code is released under:

Apache License

If you think the Android project customhellochartdemo listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package lecho.lib.hellocharts.model;
/*from w  ww . java2  s.c o m*/
import java.util.ArrayList;
import java.util.List;

import android.graphics.Color;
import android.graphics.Typeface;

import lecho.lib.hellocharts.util.Utils;

/**
 * Single axis model. By default axis is auto-generated. Use {@link #setAutoGenerated(boolean)} to disable axis values
 * generation and set values manually using {@link #setValues(List)}. If Axis is auto-generated {@link #setValues(List)}
 * will be ignored but if you set some values Axis will switch to manual mode. Change how axis labels are displayed by
 * changing formatter {@link #setFormatter(ValueFormatter)}. Axis can have a name that should be displayed next to
 * labels(that depends on renderer implementation), you can change name using {@link #setName(String)}, by default axis
 * name is empty and therefore not displayed.
 * 
 */
public class Axis {
  public static final int DEFAULT_TEXT_SIZE_SP = 12;
  public static final int DEFAULT_MAX_AXIS_LABEL_CHARS = 4;

  /** Axis values, each value will be used to calculate its label position. */
  private List<AxisValue> values = new ArrayList<AxisValue>();

  /** Name for this axis. */
  private String name;

  /** If true axis will be generated to automatically fit chart ranges. **/
  private boolean isAutoGenerated = true;

  /** If true renderer will draw lines(grid) for this axis. */
  private boolean hasLines = false;

  /** If true axis labels will be drown inside chart area. */
  private boolean isInside = false;

  /** Axis labels and name text color. */
  private int textColor = Color.LTGRAY;

  /** Axis grid lines color. */
  private int lineColor = Utils.DEFAULT_DARKEN_COLOR;

  /** Text size for axis labels and name. */
  private int textSize = DEFAULT_TEXT_SIZE_SP;

  /** Maximum number of characters used for this axis. Used to determine axis dimensions. */
  private int maxLabelChars = DEFAULT_MAX_AXIS_LABEL_CHARS;

  /** Typeface for labels and name text. */
  private Typeface typeface;

  /** Formatter used to format labels. */
  private ValueFormatter formatter = new SimpleValueFormatter();

  /**
   * Creates auto-generated axis without name and with default formatter.
   * 
   * @see SimpleValueFormatter
   */
  public Axis() {
  }

  /**
   * Creates axis with given values(not auto-generated) without name and with default formatter.
   */
  public Axis(List<AxisValue> values) {
    setValues(values);
  }

  public Axis(Axis axis) {
    this.name = axis.name;
    this.isAutoGenerated = axis.isAutoGenerated;
    this.hasLines = axis.hasLines;
    this.isInside = axis.isInside;
    this.textColor = axis.textColor;
    this.lineColor = axis.lineColor;
    this.textSize = axis.textSize;
    this.maxLabelChars = axis.maxLabelChars;
    this.typeface = axis.typeface;
    this.formatter = axis.formatter;

    for (AxisValue axisValue : values) {
      this.values.add(new AxisValue(axisValue));
    }
  }

  public List<AxisValue> getValues() {
    return values;
  }

  public Axis setValues(List<AxisValue> values) {
    if (null == values) {
      values = new ArrayList<AxisValue>();
    } else {
      this.values = values;
    }

    this.isAutoGenerated = false;
    return this;
  }

  public String getName() {
    return name;
  }

  public Axis setName(String name) {
    this.name = name;
    return this;
  }

  public boolean isAutoGenerated() {
    return isAutoGenerated;
  }

  public Axis setAutoGenerated(boolean isAutoGenerated) {
    this.isAutoGenerated = isAutoGenerated;
    return this;
  }

  public boolean hasLines() {
    return hasLines;
  }

  public Axis setHasLines(boolean hasLines) {
    this.hasLines = hasLines;
    return this;
  }

  public int getTextColor() {
    return textColor;
  }

  public Axis setTextColor(int color) {
    this.textColor = color;
    return this;
  }

  /**
   * @see {{@link #setInside(boolean)}
   */
  public boolean isInside() {
    return isInside;
  }

  /**
   * Set to true if you want axis values to be drawn inside chart area(axis name still will be drawn outside), by
   * default this is set to false and axis is drawn outside chart area.
   */
  public Axis setInside(boolean isInside) {
    this.isInside = isInside;
    return this;
  }

  public int getLineColor() {
    return lineColor;
  }

  public Axis setLineColor(int lineColor) {
    this.lineColor = lineColor;
    return this;
  }

  public int getTextSize() {
    return textSize;
  }

  public Axis setTextSize(int textSize) {
    this.textSize = textSize;
    return this;
  }

  public int getMaxLabelChars() {
    return maxLabelChars;
  }

  /**
   * Set maximum number of characters for axis labels, min 0, max 32.
   */
  public Axis setMaxLabelChars(int maxLabelChars) {
    if (maxLabelChars < 0) {
      maxLabelChars = 0;
    } else if (maxLabelChars > 32) {
      maxLabelChars = 32;
    }
    this.maxLabelChars = maxLabelChars;
    return this;
  }

  public Typeface getTypeface() {
    return typeface;
  }

  public Axis setTypeface(Typeface typeface) {
    this.typeface = typeface;
    return this;
  }

  public ValueFormatter getFormatter() {
    return formatter;
  }

  public Axis setFormatter(ValueFormatter formatter) {
    if (null == formatter) {
      this.formatter = new SimpleValueFormatter();
    } else {
      this.formatter = formatter;
    }
    return this;
  }
}




Java Source Code List

lecho.lib.hellocharts.ChartComputator.java
lecho.lib.hellocharts.DummyChartAnimationListener.java
lecho.lib.hellocharts.DummyVieportChangeListener.java
lecho.lib.hellocharts.PreviewChartComputator.java
lecho.lib.hellocharts.ViewportChangeListener.java
lecho.lib.hellocharts.animation.ChartAnimationListener.java
lecho.lib.hellocharts.animation.ChartDataAnimatorV14.java
lecho.lib.hellocharts.animation.ChartDataAnimatorV8.java
lecho.lib.hellocharts.animation.ChartDataAnimator.java
lecho.lib.hellocharts.animation.ChartViewportAnimatorV14.java
lecho.lib.hellocharts.animation.ChartViewportAnimatorV8.java
lecho.lib.hellocharts.animation.ChartViewportAnimator.java
lecho.lib.hellocharts.animation.PieChartRotationAnimatorV14.java
lecho.lib.hellocharts.animation.PieChartRotationAnimatorV8.java
lecho.lib.hellocharts.animation.PieChartRotationAnimator.java
lecho.lib.hellocharts.gesture.ChartScroller.java
lecho.lib.hellocharts.gesture.ChartTouchHandler.java
lecho.lib.hellocharts.gesture.ChartZoomer.java
lecho.lib.hellocharts.gesture.ContainerScrollType.java
lecho.lib.hellocharts.gesture.PieChartTouchHandler.java
lecho.lib.hellocharts.gesture.PreviewChartTouchHandler.java
lecho.lib.hellocharts.gesture.ZoomType.java
lecho.lib.hellocharts.gesture.ZoomerCompat.java
lecho.lib.hellocharts.model.AbstractChartData.java
lecho.lib.hellocharts.model.ArcValue.java
lecho.lib.hellocharts.model.AxisValue.java
lecho.lib.hellocharts.model.Axis.java
lecho.lib.hellocharts.model.BubbleChartData.java
lecho.lib.hellocharts.model.BubbleValue.java
lecho.lib.hellocharts.model.ChartData.java
lecho.lib.hellocharts.model.ColumnChartData.java
lecho.lib.hellocharts.model.ColumnValue.java
lecho.lib.hellocharts.model.Column.java
lecho.lib.hellocharts.model.ComboLineColumnChartData.java
lecho.lib.hellocharts.model.LineChartData.java
lecho.lib.hellocharts.model.Line.java
lecho.lib.hellocharts.model.PieChartData.java
lecho.lib.hellocharts.model.PointValue.java
lecho.lib.hellocharts.model.SelectedValue.java
lecho.lib.hellocharts.model.SimpleValueFormatter.java
lecho.lib.hellocharts.model.ValueFormatter.java
lecho.lib.hellocharts.model.ValueShape.java
lecho.lib.hellocharts.model.Viewport.java
lecho.lib.hellocharts.provider.BubbleChartDataProvider.java
lecho.lib.hellocharts.provider.ColumnChartDataProvider.java
lecho.lib.hellocharts.provider.ComboLineColumnChartDataProvider.java
lecho.lib.hellocharts.provider.LineChartDataProvider.java
lecho.lib.hellocharts.provider.PieChartDataProvider.java
lecho.lib.hellocharts.renderer.AbstractChartRenderer.java
lecho.lib.hellocharts.renderer.AxesRenderer.java
lecho.lib.hellocharts.renderer.BubbleChartRenderer.java
lecho.lib.hellocharts.renderer.ChartRenderer.java
lecho.lib.hellocharts.renderer.ColumnChartRenderer.java
lecho.lib.hellocharts.renderer.ComboLineColumnChartRenderer.java
lecho.lib.hellocharts.renderer.LineChartRenderer.java
lecho.lib.hellocharts.renderer.PieChartRenderer.java
lecho.lib.hellocharts.renderer.PreviewColumnChartRenderer.java
lecho.lib.hellocharts.renderer.PreviewLineChartRenderer.java
lecho.lib.hellocharts.samples.AboutActivity.java
lecho.lib.hellocharts.samples.BrokenLineChartActivity.java
lecho.lib.hellocharts.samples.BrokenLineView.java
lecho.lib.hellocharts.samples.BubbleChartActivity.java
lecho.lib.hellocharts.samples.ColumnChartActivity.java
lecho.lib.hellocharts.samples.ComboLineColumnChartActivity.java
lecho.lib.hellocharts.samples.GoodBadChartActivity.java
lecho.lib.hellocharts.samples.LineChartActivity.java
lecho.lib.hellocharts.samples.LineColumnDependencyActivity.java
lecho.lib.hellocharts.samples.MainActivity.java
lecho.lib.hellocharts.samples.PieChartActivity.java
lecho.lib.hellocharts.samples.PreviewColumnChartActivity.java
lecho.lib.hellocharts.samples.PreviewLineChartActivity.java
lecho.lib.hellocharts.samples.SpeedChartActivity.java
lecho.lib.hellocharts.samples.TempoChartActivity.java
lecho.lib.hellocharts.samples.ViewPagerChartsActivity.java
lecho.lib.hellocharts.util.AxisAutoValues.java
lecho.lib.hellocharts.util.Utils.java
lecho.lib.hellocharts.view.AbstractChartView.java
lecho.lib.hellocharts.view.BubbleChartView.java
lecho.lib.hellocharts.view.Chart.java
lecho.lib.hellocharts.view.ColumnChartView.java
lecho.lib.hellocharts.view.ComboLineColumnChartView.java
lecho.lib.hellocharts.view.LineChartView.java
lecho.lib.hellocharts.view.PieChartView.java
lecho.lib.hellocharts.view.PreviewColumnChartView.java
lecho.lib.hellocharts.view.PreviewLineChartView.java
lecho.lib.hellocharts.view.hack.HackyDrawerLayout.java
lecho.lib.hellocharts.view.hack.HackyViewPager.java