使用View繪畫簡單的圖形

看別人的博文,自己也最好有個筆記,以後可以解決很多事情,幫助自己,也方便大家。
1.自定義一個View

  1. package com.ekin.android.viewtest;  
  2. import android.content.Context;  
  3. import android.graphics.Canvas;  
  4. import android.graphics.Color;  
  5. import android.graphics.Paint;  
  6. import android.graphics.Rect;  
  7. import android.graphics.RectF;  
  8. import android.view.View;  
  9. public class MyView extends View {  
  10.     private Paint paint ;  
  11.     public MyView(Context context) {  
  12.         super(context);  
  13.         paint = new Paint();  
  14.         paint.setAntiAlias(true);//設置畫筆無鋸齒(如果不設置可以看到效果很差)  
  15.         this.setKeepScreenOn(true);  
  16.         paint.setColor(Color.RED);  
  17.     }  
  18.     @Override  
  19.     public void onDraw(Canvas canvas) {   
  20.         canvas.drawColor(Color.WHITE);//設置刷屏顏色  
  21.         Rect rect = new Rect(30,30,50,50); //這裏最後兩個參數不是寬高、而是矩形右下角的座標  
  22.         canvas.drawRect(rect, paint);  
  23.         RectF rectF = new RectF(70f,30f,90f,90f);//RectF 只是矩形 float形式 只是跟Rect精確度不一樣  
  24.         canvas.drawArc(rectF, 0360true, paint);  
  25.         canvas.drawCircle(1503020, paint);//這也是畫圓 第三個參數爲半徑  
  26.         float[] points =new float[]{200f,10f,200f,40f,300f,30f,400f,70f};  
  27.         canvas.drawLines(points, paint);  
  28. //      canvas.drawLines(points, 1, 4, paint);//選取特定點數組中兩點來畫出一條直線  
  29.         canvas.drawText("Ekin View"23030, paint);  
  30.     }   

2.將自己的View顯示在指定的Activity上面

  1. package com.ekin.android.viewtest;  
  2. import android.app.Activity;  
  3. import android.os.Bundle;  
  4. import android.view.Window;  
  5. import android.view.WindowManager;  
  6. public class MainActivity extends Activity {  
  7.     /** Called when the activity is first created. */  
  8.     @Override  
  9.     public void onCreate(Bundle savedInstanceState) {  
  10.         super.onCreate(savedInstanceState);  
  11. //隱去電池等圖標和一切修飾部分(狀態欄部分)
  12.         this.getWindow().setFlags(
  13. WindowManager.LayoutParams.FLAG_FULLSCREEN, 
  14. WindowManager.LayoutParams.FLAG_FULLSCREEN);  
  15.   this.requestWindowFeature(Window.FEATURE_NO_TITLE);  // 隱去標題欄(程序的名字)  
  16.         setContentView(new MyView(this));   
  17.     }  
  18. }  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章