通过Android SDK中的Sample文件夹中的Snake示例这个简单的贪食蛇游戏让我们好好了解一下Android平台窗口View显示类开发中的相关问题。
1. 我们直接在Eclipse中导入这个工程,可以看到在Snake.java的入口onCreate方法中第一句requestWindowFeature(Window.FEATURE_NO_TITLE);通过这句窗口特性请求,我们使用Window.FEATURE_NO_TITLE就可以轻松的让窗口做到了无标题显示。
2.setContentView(R.layout.snake_layout);设置窗口的布局文件,这里Android123给大家说明的是,这里的snake_layout使用了自定义资源标签的方式,大家注意学习:这里我们可以看到来自SnakeView这个派生类的名称,由于Android内部的R.资源不包含SnakeView类,所以我们必须写清楚Package,比如com.exmple.android.snake.SnakeView 然后和其他控件使用一样,都是一个id然后宽度、高度、以及自定义的标签tileSize(尾巴长度),如下:
<com.example.android.snake.SnakeView
android:id="@+id/snake"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tileSize="12"
/>
3.这里Snake作为主游戏窗口,包含了重载的暂停Activity,通过Avtivites类的生命周期我们可以了解到,当窗口切换到后台时会自动调用这个重写的方法,类似C++的纯虚函数,如下:
@Override
protected void onPause() { super.onPause();}
4.同时在游戏退出时重写了onSaveInstanceState方法来保存窗口实例,就是游戏的进度。
@Override
public void onSaveInstanceState(Bundle outState) {}
这里我们就简单说明下简单游戏的框架设计,明天我们继续讲解下TileView和SnakeView的设计,这个例子相信大家都能看懂,不过Android很多新的绘图方法希望大家了解,Android平台的View设计,如果有什么疑问可以发送到android123@163.com或访问bbs.android123.com,我们会作回复。
RSS