Android 開發知識 全屏幕設置及圖形繪制的使用

註釋很詳細,不再婆婆媽媽瞭…..
 
運行效果如圖所示

FullScreenActivity 類源代碼

[java] /**
 * 作者:泰藍特軟件
 * 網址:http://www.talentsoft.cn
 * 郵箱:1047109942@qq.com
 *  QQ :1047109942
 */ 
package cn.talentsoft.fullscreen; 
 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.Window; 
import android.view.WindowManager; 
 
/**
 * 啟動類
 */ 
public class FullScreenActivity extends Activity { 
 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        // 隱藏android系統的狀態欄  
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
        // 隱藏應用程序的標題欄,即當前activity的標題欄  
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);   
        setContentView(new FullScreenView(this)); 
    } 

/**
 * 作者:泰藍特軟件
 * 網址:http://www.talentsoft.cn
 * 郵箱:1047109942@qq.com
 *  QQ :1047109942
 */
package cn.talentsoft.fullscreen;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;

/**
 * 啟動類
 */
public class FullScreenActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 隱藏android系統的狀態欄
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
        // 隱藏應用程序的標題欄,即當前activity的標題欄
        this.requestWindowFeature(Window.FEATURE_NO_TITLE); 
        setContentView(new FullScreenView(this));
    }
}
 

 FullScreenView 類源代碼

 

[java] /**
 * 作者:泰藍特軟件
 * 網址:http://www.talentsoft.cn
 * 郵箱:1047109942@qq.com
 *  QQ :1047109942
 */ 
package cn.talentsoft.fullscreen; 
 
import android.content.Context; 
import android.graphics.Canvas; 
import android.graphics.Color; 
import android.graphics.Paint; 
import android.graphics.Rect; 
import android.graphics.RectF; 
import android.view.View; 
 
/**
 * 設置Activity全屏顯示及簡單圖形繪制
 */ 
public class FullScreenView extends View { 
 
    // 畫筆  
    private Paint paint; 
 
    public FullScreenView(Context context) { 
        super(context); 
        paint = new Paint(); 
        // 消除繪圖過程中產生的鋸齒  
        paint.setAntiAlias(true);  
        // 設置屏幕保持開啟狀態  
        setKeepScreenOn(true); 
        // 設置畫筆為黑色  
        paint.setColor(Color.BLACK); 
    } 
 
    public void onDraw(Canvas canvas) { 
        // 設置畫佈為白色  
        canvas.drawColor(Color.WHITE); 
        // 定義矩形  
        Rect rect = new Rect(20, 20, 70, 70); 
        // 采用畫筆paint,在畫佈上繪制矩形  
        canvas.drawRect(rect, paint); 
        // 定義矩形,與Rect區別為精度  
        RectF rectF = new RectF(80f, 80f, 100f, 100f); 
        // 在畫佈上繪制矩形  
        canvas.drawRect(rectF, paint); 
 
        float[] points = new float[] { 50f, 120f, 30f, 200f,30f, 200f, 100f, 200f, 100f, 200f,120f, 120f,120f, 120f, 50f, 120f}; 
        // 參數points數組形式含義為x1,y1,x2,y2…..  
        canvas.drawLines(points, paint); 
         
        // 設置畫筆為非填充模式  
        paint.setStyle(Paint.Style.STROKE); 
        canvas.drawCircle(220, 100, 50, paint); 
         
        // 設置繪制文本的大小  
        paint.setTextSize(30); 
        canvas.drawText("www.talentsoft.cn", 10, 250, paint); 
 
    } 
 

/**
 * 作者:泰藍特軟件
 * 網址:http://www.talentsoft.cn
 * 郵箱:1047109942@qq.com
 *  QQ :1047109942
 */
package cn.talentsoft.fullscreen;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.RectF;
import android.view.View;

/**
 * 設置Activity全屏顯示及簡單圖形繪制
 */
public class FullScreenView extends View {

 // 畫筆
 private Paint paint;

 public FullScreenView(Context context) {
  super(context);
  paint = new Paint();
  // 消除繪圖過程中產生的鋸齒
  paint.setAntiAlias(true);
  // 設置屏幕保持開啟狀態
  setKeepScreenOn(true);
  // 設置畫筆為黑色
  paint.setColor(Color.BLACK);
 }

 public void onDraw(Canvas canvas) {
  // 設置畫佈為白色
  canvas.drawColor(Color.WHITE);
  // 定義矩形
  Rect rect = new Rect(20, 20, 70, 70);
  // 采用畫筆paint,在畫佈上繪制矩形
  canvas.drawRect(rect, paint);
  // 定義矩形,與Rect區別為精度
  RectF rectF = new RectF(80f, 80f, 100f, 100f);
  // 在畫佈上繪制矩形
  canvas.drawRect(rectF, paint);

  float[] points = new float[] { 50f, 120f, 30f, 200f,30f, 200f, 100f, 200f, 100f, 200f,120f, 120f,120f, 120f, 50f, 120f};
  // 參數points數組形式含義為x1,y1,x2,y2…..
  canvas.drawLines(points, paint);
  
  // 設置畫筆為非填充模式
  paint.setStyle(Paint.Style.STROKE);
  canvas.drawCircle(220, 100, 50, paint);
  
  // 設置繪制文本的大小
  paint.setTextSize(30);
  canvas.drawText("www.talentsoft.cn", 10, 250, paint);

 }

}
 

摘自 泰藍特軟件的專欄

 

發佈留言