Android游戏开发中经常需要绘图,并且界面很多时候需要全屏显示,那么本文就将为大家介绍比较基础的与Android UI相关的游戏开发知识-如何实现全屏显示和在View中绘图。

       Android全屏显示的实现

       直接上代码:

Java代码
  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之前,否则会有异常!

       对于设置全屏,主要就两点:

       第一点是设置隐去状态栏部分,包括电池等图标,第二点无疑就是把我们应用的名字也隐去不显示,这样一来就全屏了。

       在View中绘图

       同样先贴上代码:

Java代码
  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, 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("Himi"23030, paint);    
  30.     }    
  31. }   

       设置横竖屏也可以在AndroidManifest.xml中定义:

       隐去标题栏:android:theme=”@android:style/Theme.NoTitleBar”

       隐去状态栏:android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”

本文转自:http://www.himigame.com/android-game/263.html

本文发布:Android开发网
本文地址:http://www.teaching4real.com/android/game/188.html
2012年9月5日
发布:鸡啄米 分类:Android游戏开发 浏览: 注册送白菜网:0