天天看點

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

『很多童鞋說我的代碼運作後,點選home或者back後會程式異常,如果你也這樣遇到過,那麼你肯定沒有仔細讀完himi的博文,第十九篇himi專門寫了關于這些錯誤的原因和解決方法,這裡我在部落格都補充說明下,省的童鞋們總疑惑這一塊;請點選下面聯系進入閱讀:

———————————————————————

這一章簡單講述些簡單的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之前,否則會有異常! 

對于設定全屏,主要就兩點:

 一點是設定隐去狀态欄部分,包括電池等圖示,第二點無疑就是把我們應用的名字也隐去不顯示,這樣一來就全屏了。

18

19

20

21

22

23

24

25

26

27

28

29

30

31

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);

    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” 隐去狀态欄

繼續閱讀