自定义的控件只需继承android的View,并实现 onDraw()方法即可,上代码:

        
  1. publicclassGameViewextendsView{
  2. privatePaintpaint;
  3. publicintangle=10;
  4. publicintscale=1;
  5. publicGameView(Contextcontext){
  6. super(context);
  7. paint=newPaint();
  8. newThread(newMyThread()).start();
  9. }
  10. publicGameView(Contextcontext,AttributeSetattrs){
  11. super(context,attrs);
  12. paint=newPaint();
  13. newThread(newMyThread()).start();
  14. }
  15. //重写onDraw方法
  16. publicvoidonDraw(Canvascanvas){
  17. //设置画笔
  18. paint.setColor(Color.RED);
  19. paint.setStyle(Paint.Style.FILL);
  20. //画一个矩形
  21. canvas.drawColor(Color.YELLOW);
  22. canvas.drawRect(50,5,90,25,paint);
  23. //在画布上画一个旋转的文字
  24. canvas.save();//先调用save
  25. canvas.rotate(30);//旋转
  26. paint.setColor(Color.BLACK);
  27. canvas.drawText("tesdsfsdfsdfsdfsdfsdf",0,20,80,60,paint);
  28. canvas.restore();//在调用restore,恢复
  29. Bitmapbmp=BitmapFactory.decodeResource(getResources(),R.drawable.icon);
  30. Matrixmatrix=newMatrix();
  31. matrix.setRotate(angle);//控制图片旋转
  32. matrix.postScale(scale,scale);//控制图片缩放
  33. Bitmapdstbmp=Bitmap.createBitmap(bmp,0,0,bmp.getWidth(),
  34. bmp.getHeight(),matrix,true);
  35. canvas.drawColor(Color.BLACK);
  36. canvas.drawBitmap(dstbmp,10,10,null);}
  37. classMyThreadimplementsRunnable{
  38. @Override
  39. publicvoidrun(){
  40. while(!Thread.currentThread().isInterrupted()){
  41. try{
  42. Thread.sleep(1000);
  43. }catch(InterruptedExceptione){
  44. Thread.currentThread().interrupt();
  45. }
  46. postInvalidate();//直接更新view
  47. }
  48. }
  49. }
  50. }

更多相关文章

  1. android解决坚屏拍照和保存图片旋转90度的问题,并兼容4.0
  2. Android(安卓)N 指纹框架
  3. android调用setRequestedOrientation之后
  4. android 包管理系统分析
  5. 【Android】使用LiveData KTX Builder让代码更简洁
  6. bridge和原生交互的简单用法
  7. Hybrid(在Android中的实现)
  8. android2.2资源文件详解4--menu文件夹下的菜单定义
  9. Android(安卓)Volley库源码简析(HTTP Request部分)

随机推荐

  1. android实现SharedPreferences的存入与取
  2. android 取消点击GridView的时候出现的那
  3. android ontouch onclick 触发顺序
  4. Android之十二微信UI界面设计
  5. android 8.0 notification
  6. Android简单自定义标题栏
  7. Eclipse中LogCat如何打开
  8. 【Android】viewpager banner 广告 自动
  9. android skia 使用实例
  10. Android Makefile example