java温度计的实现_基于android平台的模拟温度计测量实时温度的实现--(surfaceView的熟练使用)...

1 packagecom.example.test;2

3

4

5 importandroid.content.Context;6 importandroid.graphics.Bitmap;7 importandroid.graphics.Canvas;8 importandroid.graphics.Color;9 importandroid.graphics.Paint;10 importandroid.graphics.RectF;11 importandroid.util.AttributeSet;12 importandroid.util.TypedValue;13 importandroid.view.SurfaceHolder;14 importandroid.view.SurfaceView;15

16

17

18 importjava.text.DecimalFormat;19

20 /**

21 * Created by yinxiaofei on 2016/1/13.22 */

23

24 public class Thermometer extends SurfaceView implementsSurfaceHolder.Callback ,Runnable{25

26 privateSurfaceHolder mHolder;27 privateCanvas mCanvas;28

29 //定义温度的范围

30 int temperatureRange=12;31 //定义一个盘快的范围

32 private RectF mRange=newRectF();33 //定义温度计的宽度和中心宽度

34 intmWith;35 intmHeight;36 intcenterWith;37 intcenterHeight;38 //定义总的宽度39

40 //定义温度计刻度总长度

41 inttemperatureAllLong;42

43 //定义一下水银的宽度

44 intMercuryWith;45 //十的倍数的线长度

46 intMaxLineLong;47 //五的倍数的线的长度

48 intMidLineLong;49 //其他刻度线的长度

50 intMinLineLong;51 //刻度间隔

52 intscaleLong;53 //定义温度计距离画布的上宽度

54 intabHeight;55

56 //绘制线条的画笔

57 privatePaint LinePaint;58 //绘制文本的画笔

59 privatePaint TextPaint;60

61 //设置温度上升的速度

62 private volatile float mSpeed=0;63

64 //设置背景图

65 privateBitmap mBitmap;66

67 /**

68 * 定义初始温度,当前显示正在变化也就是显示的温度,还有目标温度69 * 其中,初始温度不变,70 * 当前温度是有程序根据不同的速度和目标温度计算出来的,71 * 目标温度则是由仪器传送过来的数据72 */

73 private float BeginTenperature= (float) 30;74 private int EndTenperature=42;75 private volatile float CurrentTemperature= (float) 30;76

77

78

79 float TargetTemperature=39;80

81 /**

82 * 定义每一秒绘制的次数83 */

84 int everySecondTime=100;85

86 //设置文字的大小

87 private float mTextSize= TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SHIFT,25,getResources().getDisplayMetrics());88 private float mSymbolTextSize= TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SHIFT,35,getResources().getDisplayMetrics());89 private float mShowSymbolTextSize= TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SHIFT,45,getResources().getDisplayMetrics());90 /**

91 *

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值