zoukankan      html  css  js  c++  java
  • 【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);
        }
    }
    设置横竖屏也可以在AndroidManifest.xml中定义:
    android:theme=”@android:style/Theme.NoTitleBar” 隐去标题栏android:theme=”@android:style/Theme.NoTitleBar.Fullscreen” 隐去状态栏

     

  • 相关阅读:
    创业之死:97%的创业失败是因为…… . 分类: 项目管理 2014-06-18 17:56 315人阅读 评论(1) 收藏
    linux下的APK反编译软件及过程介绍 . 分类: arm-linux-Ubuntu 2014-06-18 17:51 400人阅读 评论(0) 收藏
    g++基本用法 分类: arm-linux-Ubuntu 2014-06-18 17:50 414人阅读 评论(0) 收藏
    更改 vc6 各窗口字体 (zz)
    程序员编程技术迅速提高终极攻略 (zz)
    A browser for WinCE/Windows base WebKit. (zz)
    输入一个十进制的数到dx_ax,然后十六进制转十进制输出
    汇编判断语句
    用结构体指针存储数据__正序_逆序下的输入
    二叉排序树
  • 原文地址:https://www.cnblogs.com/daichangya/p/12959942.html
Copyright © 2011-2022 走看看