2012年7月6日 星期五

【Android遊戲開發之一】設置全屏以及繪畫簡單的圖形



直接上代碼:
  1. package com.himi;
  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. this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
  12. //隱去電池等圖示和一切修飾部分(狀態列部分)
  13. this.requestWindowFeature(Window.FEATURE_NO_TITLE);
  14. // 隱去標題列(程式的名字)
  15. setContentView(new MyView(this));
  16. }
  17. }
注意 隱去標題(應用的名字) 此設定必須要寫在setContentView之前,否則會有異常!
對於設置全屏,主要就兩點:
第一點是設置隱去狀態列部分,包括電池等圖示,第二點無疑就是把我們應用的名字也隱去不顯示,這樣一來就全屏了。
  1. package com.himi;
  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, 0, 360, true, paint);
  25. canvas.drawCircle(150, 30, 20, 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("Himi", 230, 30, paint);
  30. }
  31. }
設置橫豎屏也可以在AndroidManifest.xml中定義:
android:theme="@android:style/Theme.NoTitleBar" 隱去標題列
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 隱去狀態列

沒有留言:

張貼留言