Android LCD效果(二)


java代码:
  1. }
  2. switch(backcolor){
  3. case 1:
  4. c.drawColor(Color.GREEN);
  5. break;
  6. case 2:
  7. c.drawColor(Color.DKGRAY);
  8. break;
  9. case 3:
  10. c.drawColor(Color.GRAY);
  11. break;
  12. case 4:
  13. c.drawColor(Color.LTGRAY);
  14. break;
  15. case 5:
  16. c.drawColor(Color.MAGENTA);
  17. break;
  18. case 6:
  19. c.drawColor(Color.RED);
  20. break;
  21. case 7:
  22. c.drawColor(Color.WHITE);
  23. break;
  24. case 8:
  25. c.drawColor(Color.YELLOW);
  26. break;
  27. case 9:
  28. c.drawColor(Color.TRANSPARENT);
  29. break;
  30. case 10:
  31. c.drawColor(Color.CYAN);
  32. break;
  33. default:
  34. break;

  35. }

  36. textPaint.setStyle(Style.STROKE);
  37. textPaint.setStrokeWidth(10);
  38. c.drawRect(0, 0, this.width, this.height, textPaint);

  39. } else if(event.getAction() == MotionEvent.ACTION_DOWN) { 


  40. handled=false;
  41. timedown = event.getEventTime();
  42. postCheckForLongClick(c); 
  43. switch(backcolor){
  44. case 1:
  45. //this.setBackgroundColor(Color.GREEN);
  46. c.drawColor(Color.GREEN);
  47. //getHolder().lockCanvas().drawColor(Color.GREEN);
  48. break;
  49. case 2:
  50. c.drawColor(Color.DKGRAY);
  51. break;
  52. case 3:
  53. c.drawColor(Color.GRAY);
  54. break;
  55. case 4:
  56. c.drawColor(Color.LTGRAY);
  57. break;
  58. case 5:
  59. c.drawColor(Color.MAGENTA);
  60. break;
  61. case 6:
  62. c.drawColor(Color.RED);
  63. break;
  64. case 7:
  65. c.drawColor(Color.WHITE);
  66. break;
  67. case 8:
  68. c.drawColor(Color.YELLOW);
  69. break;
  70. case 9:
  71. c.drawColor(Color.TRANSPARENT);
  72. break;
  73. case 10:
  74. c.drawColor(Color.CYAN);
  75. break;
  76. default:
  77. break;

  78. }
  79. textPaint.setStyle(Style.STROKE);
  80. textPaint.setStrokeWidth(10);
  81. c.drawRect(0, 0, this.width, this.height, textPaint);

  82. else{ 
  83. textPaint.setStyle(Style.STROKE);
  84. textPaint.setStrokeWidth(10);
  85. c.drawRect(0, 0, this.width, this.height, textPaint); 



  86. getHolder().unlockCanvasAndPost(c); 

  87. return true; 


  88. public boolean performClick() {
  89. if (mOnClickListener != null) {
  90. mOnClickListener.onClick(this);
  91. return true;
  92. }
  93. return false;
  94. }

  95. Handler handler1=new Handler();
  96. Runnable runnable=new Runnable(){

  97. public void run() {
  98. // TODO Auto-generated method stub
  99. //要做的事情
  100. // mOnLongClickListener.onLongClick(this);
  101. Date timeNow = new Date(System.currentTimeMillis());
  102. timeperiod = (long)timeNow.getTime()-(long)timedown;
  103. if(timeperiod > timesecond){
  104. handler1.postDelayed(runnable, 500);
  105. performLongClick();

  106. mLong = true;
  107. handler1.removeCallbacks(runnable);
  108. }
  109. else{
  110. handler1.removeCallbacks(runnable);
  111. }
  112. }
  113. };


  114. private void postCheckForLongClick(Canvas c) {
  115. mLong = false;
  116. handler1.postDelayed(runnable, 500);
  117. if(mLong == true){
  118. performLongClick();
  119. }
  120. }

  121. public boolean performLongClick() { 
  122. if (mOnLongClickListener != null) {
  123. handled = mOnLongClickListener.onLongClick(this);
  124. mLong = true;
  125. }
  126. if(mLong == true)handler1.removeCallbacks(runnable);
  127. return handled;

  128. }

  129. public void changebackcolor(int pc){
  130. switch(pc){
  131. case 1:
  132. //this.setBackgroundColor(Color.GREEN);
  133. textPaint.setColor(Color.GREEN);
  134. //getHolder().lockCanvas().drawColor(Color.GREEN);
  135. break;
  136. case 2:
  137. textPaint.setColor(Color.DKGRAY);
  138. break;
  139. case 3:
  140. textPaint.setColor(Color.GRAY);
  141. break;
  142. case 4:
  143. textPaint.setColor(Color.LTGRAY);
  144. break;
  145. case 5:
  146. textPaint.setColor(Color.MAGENTA);
  147. break;
  148. case 6:
  149. textPaint.setColor(Color.RED);
  150. break;
  151. case 7:
  152. textPaint.setColor(Color.WHITE);
  153. break;
  154. case 8:
  155. textPaint.setColor(Color.YELLOW);
  156. break;
  157. case 9:
  158. textPaint.setColor(Color.TRANSPARENT);
  159. break;
  160. case 10:
  161. textPaint.setColor(Color.CYAN);
  162. break;
  163. default:
  164. break;
  165. }
  166. }


  167. @Override 
  168. public void surfaceChanged(SurfaceHolder holder, int format, int width, 
  169. int height) { 

  170. this.width = width; 
  171. this.height = height; 
  172. if (width > height) { 
  173. this.scale = width / 480f; 
  174. } else { 
  175. this.scale = height / 480f; 

  176. textPaint.setTextSize(14 * scale); 



  177. @Override 
  178. public void surfaceCreated(SurfaceHolder holder) { 
  179. //new Thread(new MyThread()).start(); 


  180. @Override 
  181. public void surfaceDestroyed(SurfaceHolder holder) { 

  182. }

  183. @Override
  184. public boolean onLongClick(View v) {
  185. // TODO Auto-generated method stub
  186. return false;
  187. }

  188. @Override
  189. public void onClick(View v ) {
  190. // TODO Auto-generated method stub
  191. }

  192. @Override
  193. public boolean onTouch(View arg0, MotionEvent arg1) {
  194. // TODO Auto-generated method stub
  195. return false;
  196. }

  197. @Override
  198. public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
  199. // TODO Auto-generated method stub
  200. return false;


  201. /*
  202. //内部类的内部类 
  203. class MyThread implements Runnable{ 

  204. @Override 
  205. public void run() { 
  206. Canvas canvas = holder.lockCanvas(null);//获取画布 
  207. Paint mPaint = new Paint(); 
  208. mPaint.setColor(Color.BLUE); 

  209. canvas.drawRect(new RectF(40,60,80,80), mPaint); 
  210. holder.unlockCanvasAndPost(canvas);//解锁画布,提交画好的图像 




  211. */


  212. }
复制代码

系列之Android LCD效果(一)的帖子链接http://www.eoeandroid.com/thread-96338-1-1.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值