1.当横竖屏切换时:
① 控件的状态是系统维护的,开发人员不用维护
② 用户自定的变量会重新初始化
解决:
1 横竖屏切换时:
重写onSaveInstanceState(),在这个方法中保存数据(里面含有Bandle参数)
重写onCreate()或onRestoreInstanceState(),从 Bundle 中解析出已保存信息并恢复activity状态
2 在清单文件中给Activity配置 screenOrientation ---> portrait (头像 ) landscape(风景) ---限制横竖屏切换
3 在横竖屏切换时,不重新创建Acitivity
配置android:configChanges="keyboardHidden|screenSize|orientation"
③ 屏幕的配置参数发生改变的时候调用的方法
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
// 竖屏
}else if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
// 横屏
}
}
④ 在activity中监听返回按键的按下操作
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (!isExit) {
Toast.makeText(SeriesActivity.this, "再按一次退出", Toast.LENGTH_SHORT).show();
isExit = true;
mHandler.sendEmptyMessageDelayed(EXIT, DELAY_TIME);
return true;
} else {
}
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean handleMessage(Message msg) {
switch (msg.what) {
case EXIT:
isExit = false;
break;
}
return false;
}
⑤ 横竖屏切换的activity
前一个activity执行到destroy,后一个activity从oncreate()开始执行到onResume();
⑥ Activity之间的跳转
前一个activity执行到stop(), 后一个activity从oncreate()开始执行到onResume(),按回退键销毁;
我所遇到的Activity的一些细节
最新推荐文章于 2018-05-28 18:25:05 发布