【Android游戏开发之一】设置全屏以及绘画简单的图形
转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/263.html
          ☞
 点击订阅 ☜ 本博客最新动态!及时将最新博文通知您!
———————————————————————
『很多童鞋说我的代码运行后,点击home或者back后会程序异常,如果你也这样遇到过,那么你肯定没有仔细读完Himi的博文,第十九篇Himi专门写了关于这些错误的原因和解决方法,这里我在博客都补充说明下,省的童鞋们总疑惑这一块;请点击下面联系进入阅读:
【Android游戏开发十九】(必看篇)SurfaceView运行机制详解—剖析Back与Home按键及切入后台等异常处理! 』
———————————————————————
这一章简单讲述些简单的Android-UI:
直接上代码:
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 | 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之前,否则会有异常!
对于设置全屏,主要就两点:
一点是设置隐去状态栏部分,包括电池等图标,第二点无疑就是把我们应用的名字也隐去不显示,这样一来就全屏了。
| 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 | 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);    }} | 
        
        如果你喜欢本文, 请长按二维码,关注公众号 分布式编程.
        
        作者:分布式编程
        
        出处:https://zthinker.com/
        
        本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    
 
                    
                 
                
            
         
 浙公网安备 33010602011771号
浙公网安备 33010602011771号