Android 学习笔记——旋转模拟器方向,全屏,窗口生命周期
1、下载及安装SDK,入门示例直接到以下页面下载一个ADT Bundle,解压即可(前提是装了Java):https://developer.android.com/sdk/index.html
入门示例,按着官方教程一步步来就好:https://developer.android.com/training/basics/firstapp/creating-project.html
模拟器的硬件加速方法见:http://cherishlc.iteye.com/blog/1754350
开发环境中有两个工具要注意一下:
http://dl.iteye.com/upload/attachment/0078/3942/802a7636-9547-3fec-90a6-8582fa3b66f0.png
2、模拟器按键及旋转屏幕
[*]旋转屏幕: 左边的Ctrl+F11或者直接小键盘数字7或者9
[*]Home键:Home
[*]后退: Esc
[*]Menu: PageUp
3、使APP全屏
需要去掉状态栏,以及程序本身的标题栏
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉状态栏 requestWindowFeature(Window.FEATURE_NO_TITLE);//去除标题栏 setContentView(R.layout.activity_b); }
4、窗口Activity的生命周期
下图来自google官方教程:https://developer.android.com/training/basics/activity-lifecycle/starting.html
http://dl.iteye.com/upload/attachment/0078/3932/3a19e098-ae2a-3272-8753-6d8748f0827e.png
官方的例子有点问题,自己加入Eclipse工程文件的lifeCycle演示见附件,其中ActiveB改成了全屏的形式。
注意:
1、旋转屏幕时窗口会被destroy再重新create,此过程也需要自己保存数据并重新获取,参见https://developer.android.com/training/basics/activity-lifecycle/recreating.html
2、其中主要是需要重载onSaveInstanceState()方法 (用于存储数据)和 onRestoreInstanceState()方法(用于恢复数据);
3、数据的传递通过Bundle类实现;
4、各种View(如TextView)中的数据自动实现传递,只要该对象有独一无二的ID即可。
5、在 onSaveInstanceState()方法中永远要来一句super.onSaveInstanceState(savedInstanceState);否则自动保存View对象状态失效
页:
[1]