资源简介

Android自定义View:速度仪表盘、速度评级小车动画(模仿电脑版360宽带测速器)附件为代码。

资源截图

代码片段和文件信息

package com.jersey.velocityview;

import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.BlurMaskFilter;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.RectF;
import android.graphics.Shader;
import android.graphics.SweepGradient;
import android.util.AttributeSet;
import android.view.View;

/**
 * 速度仪表盘 上方为一个进度条1-100;指针代表速度,传入单位为b
 * 
 * @author hezexi
 * 
 */
public class DashBoardView extends View {

private static final int BGPIC_WIDTH = 302;
private static final int PROGRESS_INC = 1;
private static final int SWEEPANGLE_INC = 1;

private static final int ARC_COLOR = 0xffb5de84;
private static final int POINTER_COLOR1 = 0xffAE0303;
private static final int POINTER_COLOR2 = 0xffDE0202;
private static final int Text_COLOR = 0xffEDA64B;
private static final int FIXED_TEXT_COLOR = 0xffffffff;
private static final int FIXED_SPEED_TEXT_COLOR = 0xff88d349;
private static final int SCALE_COLOR = 0xffC9D2DB;
private static final int[] CENTER_COLORS = { 0xffABABAB 0xffFCFCFC
0xffBBBBBB 0xffFAFAFA 0xffBBBBBB 0xffFEFEFE 0xffCCCCCC
0xffFAFAFA 0xffABABAB };

private static final String KB_S = “Kb/秒“;
private static final String MB_S = “Mb/秒“;
private static final String CURRENT_SPEED = “即时网速“;
private static final String[] FIXED_SPEED_LEVEL = { “0 K“ “256 K“
“512 K“ “1 M“ “2 M“ “5 M“ “10 M“ “20 M“ “40 M“ “60 M“
“100 M“ };
private static final int[] FIXED_SPEED_VALUE = { 0 262144 524288
1048576 2097152 5242880 10485760 20971520 41943040 62914560
104857600 };

private int progress;
private int toProgress;

private int speed;

private Paint mScalePaint;
private Paint mArcPaint;
private Paint mPointerPaint;
private Paint mTextPaint;
private Paint mFixedTextPaint;
private Paint mCenterPaint;
private Paint mCenterShadowPaint;

private int view_width = 0;
private int mProgressArcWidth = 4;
private int mScaleWidth2 = 2;
private int mScaleWidth3 = 3;

int progressStartAngle = 150;
int progressSweepAngle = 240;
int progressMaxAngle = 240;

float scaleProAngle = 4.8f;

int pointerStartAngle = -120;
int pointerSweepAngle = 0;
int toPointerSweepAngle = 0;

private int mPointerLength1 = 110;
private int mPointerLength2 = 45;
private int mPointerWidth = 12;

private String speedNumber = “0“;
private String speedLevel = KB_S;

public DashBoardView(Context context) {
super(context);
init(context);
}

public DashBoardView(Context context AttributeSet attrs) {
super(context attrs);
init(context);
}

public DashBoardView(Context context AttributeSet attrs int defstyle) {
super(context attrs defstyle);
init(context);
}

/***
 * 初始化
 * 
 * @param hezexi
 */
@SuppressLint(“NewApi“)
private void init(Context context) {
if (android.os.Build.VERSION.SDK_I

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2015-03-21 16:58  VelocityView\
     文件         475  2015-03-21 16:58  VelocityView\.classpath
     文件         848  2015-03-21 16:58  VelocityView\.project
     目录           0  2015-03-21 21:43  VelocityView\.settings\
     文件          57  2015-03-21 21:43  VelocityView\.settings\org.eclipse.core.resources.prefs
     文件         177  2015-03-21 16:58  VelocityView\.settings\org.eclipse.jdt.core.prefs
     文件         980  2015-03-21 22:41  VelocityView\AndroidManifest.xml
     目录           0  2015-03-21 16:58  VelocityView\libs\
     文件      556198  2015-03-21 16:58  VelocityView\libs\android-support-v4.jar
     目录           0  2015-04-12 21:52  VelocityView\res\
     目录           0  2015-04-12 21:52  VelocityView\res\drawable-hdpi\
     文件        7658  2015-03-21 16:58  VelocityView\res\drawable-hdpi\ic_launcher.png
     文件        1258  2014-02-09 15:41  VelocityView\res\drawable-hdpi\netspeed_level.png
     文件        3077  2014-02-09 15:41  VelocityView\res\drawable-hdpi\netspeed_level_cars.png
     文件        4055  2014-02-09 15:41  VelocityView\res\drawable-hdpi\progressbar_full.png
     文件         731  2014-02-09 15:41  VelocityView\res\drawable-hdpi\progressbar_null.9.png
     文件       53484  2015-04-12 21:51  VelocityView\res\drawable-hdpi\speed_bg.png
     目录           0  2015-03-21 16:58  VelocityView\res\drawable-ldpi\
     目录           0  2015-03-21 16:58  VelocityView\res\drawable-mdpi\
     文件        3777  2015-03-21 16:58  VelocityView\res\drawable-mdpi\ic_launcher.png
     目录           0  2015-03-21 16:58  VelocityView\res\drawable-xhdpi\
     文件       12516  2015-03-21 16:58  VelocityView\res\drawable-xhdpi\ic_launcher.png
     目录           0  2015-03-21 16:58  VelocityView\res\drawable-xxhdpi\
     文件       24777  2015-03-21 16:58  VelocityView\res\drawable-xxhdpi\ic_launcher.png
     目录           0  2015-03-21 16:58  VelocityView\res\layout\
     文件        1183  2015-03-21 22:44  VelocityView\res\layout\activity_main.xml
     目录           0  2015-03-21 16:58  VelocityView\res\menu\
     文件         263  2015-03-21 16:58  VelocityView\res\menu\main.xml
     目录           0  2015-03-21 16:58  VelocityView\res\values\
     目录           0  2015-03-21 16:58  VelocityView\res\values-v11\
     文件         334  2015-03-21 16:58  VelocityView\res\values-v11\styles.xml
............此处省略12个文件信息

评论

共有 条评论