91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 19KB
    文件類型: .java
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-18
  • 語言: Java
  • 標(biāo)簽: Android??柱狀圖??滑動??

資源簡介

最近自己改進(jìn)了一下柱狀圖的繪制,支持多跟柱子,自己設(shè)置顏色,并且添加了手動滑動效果(在屏幕繪制寬度不夠時啟動滑動)

資源截圖

代碼片段和文件信息

package?com.yulu.demo;

import?java.text.DecimalFormat;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.List;

import?android.content.Context;
import?android.graphics.Canvas;
import?android.graphics.Color;
import?android.graphics.Paint;
import?android.graphics.Paint.Align;
import?android.graphics.Paint.style;
import?android.graphics.RectF;
import?android.support.annotation.ColorInt;
import?android.util.AttributeSet;
import?android.view.GestureDetector;
import?android.view.MotionEvent;
import?android.view.View;

/**
?*?柱狀??
?*/
public?class?BarChartView?extends?View?{
/**
?*?公共部分
?*/
protected?float?canvasHeight;
protected?float?canvasWidth;
private?Paint?mPaint;
private?float?maxValue?=?0;//?Y軸最大值
private?float?minValue;
//?private?float?titleHeight?=?0.0f;
private?float?taggingHeight;?//?標(biāo)注的高度
private?float?marginTop;?//?與頂部留的空隙
private?float?marginBottom?=?0;?//?與底部留的空隙
private?float?marginLeft;?//?與頂部留的空隙
private?float?marginRight?=?0;?//?與底部留的空隙

private?int?horizontalNum?=?5;//?橫坐標(biāo)數(shù)量

private?RectF?coordinateRect?=?new?RectF();?//?畫圖區(qū)域

private?int?colorCoordinates?=?0xFF999999;?//?坐標(biāo)軸的顏色

private?int[]?colors?=?{?0xFF4A94F2?0xFFEE5755?0xFFF27744?};?//?柱子的顏色
private?int?yIndex?=?5;?//?Y軸位置
private?List>?yRawData?=?new?ArrayList<>();

private?int?priceWeight?=?1;?//?倍數(shù)

/**
?*?橫坐標(biāo)值
?*/
private?List?xRawDatas?=?new?ArrayList<>();

private?String?company?=?““;?//?單位
private?boolean?isCompanyUpdate?=?false;?//?單位
private?String?companyNews;?//?單位
private?List?tagging?=?new?ArrayList<>();?//?標(biāo)注
private?List?taggingCoordinates?=?new?ArrayList<>();?//?標(biāo)注的坐標(biāo)

private?int?offsetWidth?=?0;
private?int?offsetWidthMax?=?0;
private?GestureDetector?mGestureDetector;
private?boolean?isInteger?=?false;//?是否是整數(shù)坐標(biāo)
private?float?cutoffwidth?=?0;

public?BarChartView(Context?context?List?tagging
List?xRawData?List...?yRawData)?{
super(context);
initView();
setData(tagging?xRawData?yRawData);
}

public?BarChartView(Context?context?AttributeSet?attrs)?{
super(context?attrs);
initView();
}

private?void?initView()?{
setWillNotDraw(false);
this.mPaint?=?new?Paint(Paint.ANTI_ALIAS_FLAG);
marginBottom?=?dip2px(25);
marginLeft?=?dip2px(45);
marginRight?=?dip2px(10);
marginTop?=?dip2px(10);
taggingHeight?=?0;
mGestureDetector?=?new?GestureDetector(getContext()
new?GestureListener());
}

private?float?mDownPosX?=?0;
private?float?mDownPosY?=?0;

@Override
public?boolean?dispatchTouchEvent(MotionEvent?event)?{
if?(offsetWidthMax?!=?0)?{
final?float?x?=?event.getX();
final?float?y?=?event.getY();
final?int?action?=?event.getAction();
switch?(action)?{
case?MotionEvent.ACTION_DOWN:
mDownPosX?=?x;
mDownPosY?=?y;
break;
case?MotionEvent.ACTION_MOVE:
fin

評論

共有 條評論