android 自定义View模拟时钟
来源:互联网 发布:端口是什么意思 编辑:程序博客网 时间:2024/05/18 07:16
import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.RectF;import android.os.Handler;import android.os.Message;import com.gcssloop.view.CustomView;import java.util.Calendar;import java.util.Timer;import java.util.TimerTask;/** * Created by Administrator on 2017/9/11. */public class BiaoView extends CustomView { Timer timer = new Timer();//定时器 public BiaoView(Context context) { super(context); timer.schedule(task, 1000, 1000); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Calendar calendar = Calendar.getInstance(); int s = calendar.get(Calendar.HOUR);//时 int f = calendar.get(Calendar.MINUTE);//分 int m = calendar.get(Calendar.SECOND);//秒 System.out.println(s); System.out.println(f); System.out.println(m); System.out.println("--------"); canvas.translate(mViewWidth / 2, mViewHeight / 2);//重设坐标中心 canvas.rotate(-90); mDeafultPaint.setStrokeWidth(10); mDeafultPaint.setColor(Color.BLUE); canvas.drawCircle(0,0,450,mDeafultPaint); mDeafultPaint.setColor(Color.BLACK); canvas.drawCircle(0,400,20,mDeafultPaint); canvas.drawCircle(0,-400,20,mDeafultPaint); canvas.drawCircle(400,0,20,mDeafultPaint); canvas.drawCircle(-400,0,20,mDeafultPaint); RectF rect=new RectF(-400,-400,400,400); float start=30f; for (int i = 0; i < 12; i++) { canvas.drawArc(rect,start*i-0.5f,1f,true,mDeafultPaint); } mDeafultPaint.setColor(Color.BLUE); canvas.drawCircle(0,0,380,mDeafultPaint); mDeafultPaint.setColor(Color.BLACK); mDeafultPaint.setStrokeWidth(20); canvas.rotate(s*30+(f/2)); canvas.drawLine(-50, 0, 250, 0, mDeafultPaint); canvas.rotate(-s*30-(f/2)); mDeafultPaint.setColor(Color.BLACK); mDeafultPaint.setStrokeWidth(10); canvas.rotate(f*6); canvas.drawLine(-60,0,300,0,mDeafultPaint); canvas.rotate(-f*6); mDeafultPaint.setColor(Color.RED); mDeafultPaint.setStrokeWidth(5); canvas.rotate(m*6); canvas.drawCircle(0,0,20,mDeafultPaint); canvas.drawLine(-80,0,400,0,mDeafultPaint); } TimerTask task = new TimerTask() { @Override public void run() { handler.sendEmptyMessage(1); } }; Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); invalidate(); } };}
import android.content.Context;import android.graphics.Paint;import android.text.TextPaint;import android.util.AttributeSet;import android.view.View;public class CustomView extends View { /** * the context of current view */ protected Context mCurrentContext; /** * the width of current view. */ protected int mViewWidth; /** * the height of current view. */ protected int mViewHeight; /** * default Paint. */ protected Paint mDeafultPaint = new Paint(); /** * default TextPaint */ protected TextPaint mDefaultTextPaint = new TextPaint(); public CustomView(Context context) { this(context, null); } public CustomView(Context context, AttributeSet attrs) { this(context, attrs, 0); } public CustomView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); this.mCurrentContext = context; } @Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); mViewWidth = w; mViewHeight = h; }}
阅读全文
1 0
- android 自定义View模拟时钟
- Android自定义View:如何实现一个模拟时钟?
- 自定义View+Handle 实现模拟时钟效果
- android 自定义view实现时钟
- Android 自定义View 时钟效果
- Android自定义View---秒表/时钟
- Android自定义View时钟效果
- Android 自定义模拟时钟控件
- android自定义view之自定义时钟wacthview
- Android自定义View之数字时钟
- Android 自定义View(四) 时钟clockView
- Android自定义View实现时钟效果ClockView
- android自定义view(实现时钟显示)
- Android 自定义View之: 时钟控件
- android自定义View模拟心电图
- 自定义view-绘图时钟
- 自定义view绘制时钟
- <3> 自定义view 时钟
- Python3.6 爬取网页图片
- 关于android组播通讯只能收到本机消息的问题
- jQuery禁用键盘后退屏蔽F5刷新及禁用右键单击
- php 语法里0不等于null为空的解决办法
- CSS 插入随机不可见字符串
- android 自定义View模拟时钟
- 《Python机器学习及实践》----良/恶性乳腺癌肿瘤预测
- java中使用socket进行udp方式通信时拔掉网线会导致send()方法阻塞
- 关于hibernate通过注解方式自动生成表时字段的顺序问题
- Android使用VideoView播放网络视频,获取网络视频缩略图
- TensorFlow
- js性能优化
- 通过RegOpenKeyEx和RegQueryValueEx获取wince设备的IP
- 环信ease-sdk-3.3.4_r1 集成用户头像 昵称功能的简单处理方法