李華明Himi 原創,轉載務必在明顯處註明:
不少童鞋說個人代碼運行後,點擊home或者back後會程序異常,若是你也這樣遇到過,那麼你確定沒有仔細讀完Himi的博文,第十九篇Himi專門寫了關於這些錯誤的緣由和解決方法,這裏我在博客都補充說明下,省的童鞋們總疑惑這一塊;請點擊下面聯繫進入閱讀:css
【Android遊戲開發十九】(必看篇)SurfaceView運行機制詳解—剖析Back與Home按鍵及切入後臺等異常處理!html
直接上代碼:java
package com.himi; import android.app.Activity; import android.os.Bundle; import android.view.Window; import android.view.WindowManager; public class MainActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //隱去電池等圖標和一切修飾部分(狀態欄部分) this.requestWindowFeature(Window.FEATURE_NO_TITLE); // 隱去標題欄(程序的名字) setContentView(new MyView(this)); } }
注意: 隱去標題(應用的名字) 此設定必需要寫在setContentView以前,不然會有異常! android
對於設置全屏,主要就兩點:canvas
一點是設置隱去狀態欄部分,包括電池等圖標,第二點無疑就是把咱們應用的名字也隱去不顯示,這樣一來就全屏了。數組
package com.himi; 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; public class MyView extends View { private Paint paint ; public MyView(Context context) { super(context); paint = new Paint(); paint.setAntiAlias(true);//設置畫筆無鋸齒(若是不設置能夠看到效果不好) this.setKeepScreenOn(true);//設置背景常亮 paint.setColor(Color.RED); } @Override public void onDraw(Canvas canvas) { canvas.drawColor(Color.WHITE);//設置刷屏顏色 Rect rect = new Rect(30,30,50,50); //這裏最後兩個參數不是寬高、而是矩形右下角的座標 canvas.drawRect(rect, paint); RectF rectF = new RectF(70f,30f,90f,90f);//RectF 只是矩形 float形式 只是跟Rect精確度不同 canvas.drawArc(rectF, 0, 360, true, paint); canvas.drawCircle(150, 30, 20, paint);//這也是畫圓 第三個參數爲半徑 float[] points =new float[]{200f,10f,200f,40f,300f,30f,400f,70f}; canvas.drawLines(points, paint); // canvas.drawLines(points, 1, 4, paint);//選取特定點數組中兩點來畫出一條直線 canvas.drawText("Himi", 230, 30, paint); } }
(推薦你們訂閱本博客,由於咱的更新速度但是很快的~娃哈哈)app