Android中配置改变(Configuration)的处理状态(重点横竖屏切换)
来源:互联网 发布:ubuntu 假死 编辑:程序博客网 时间:2024/06/06 03:31
一: 很多时候配置改变(Configuration Change) 最多遇到的就是横竖屏进行切换,一般的会重新加载Activity,不过这样的切换起来会看到界面非常的闪,原因是重新加载Activity了,今天学习一下重写
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
}
来监听横竖切换进行操作
下面直接进行步骤
1:在AndroidManinfest.xml文件中可进行如下配置:
当然这个配置的改变状态还有其他好几个,可以并列设置
2:重写
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
super.onConfigurationChanged(newConfig);
}
在这个方法中进行改变的操作
看如下的源代码:
public void onConfigurationChanged(Configuration newConfig) {// TODO Auto-generated method stubsuper.onConfigurationChanged(newConfig);if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){Log.i(TAG, "To Landscape");}else if(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT) {Log.i(TAG, "To Portrait");}}
二:特别提醒使用这个方法进行横竖屏的切换,不会重新进行Activity的加载
看下面的实例代码“:
package com.jiangqq.csdn;import android.app.Activity;import android.content.res.Configuration;import android.os.Bundle;import android.util.Log;public class ConfigMainActivity extends Activity {private static final String TAG="ConfigMainActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }public void onConfigurationChanged(Configuration newConfig) {// TODO Auto-generated method stubsuper.onConfigurationChanged(newConfig);if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE){Log.i(TAG, "To Landscape");}else if(newConfig.orientation==Configuration.ORIENTATION_PORTRAIT) {Log.i(TAG, "To Portrait");}}@Overrideprotected void onStart() {// TODO Auto-generated method stubsuper.onStart();Log.i(TAG, "onStart");}@Overrideprotected void onRestart() {// TODO Auto-generated method stubsuper.onRestart();Log.i(TAG, "onRestart");}@Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();Log.i(TAG, "onResume");}@Overrideprotected void onPause() {// TODO Auto-generated method stubsuper.onPause();Log.i(TAG, "onPause");}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();Log.i(TAG, "onStop");}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();Log.i(TAG, "onDestroy");} }
效果如下
1:当启动这个Demo的后台Log:
2:进行横竖屏切换时候的Log:
3:退出当前Activity的Log:
使用这个方法开发中经常遇到,挺重要 嘻嘻
- Android中配置改变(Configuration)的处理状态(重点横竖屏切换)
- android横竖屏切换、键盘推出状态改变的处理
- 安卓横竖屏切换的生命周期(重点)
- android中横竖屏切换状态保持一致
- Android 横竖屏切换的处理
- 保存Activity的状态(切换横竖屏时)
- 设备配置(Device Configuration)改变时的处理方法
- android横竖屏切换处理
- Android 处理横竖屏切换
- android横竖屏切换处理
- android中横竖屏的切换
- Android中横竖屏的切换
- Android中横竖屏切换的问题
- Android横竖屏切换改变布局
- Android横竖屏切换不改变生命周期
- 【Android每周专题】横竖屏切换和Activity中View状态的保持
- 【Android每周专题】横竖屏切换和Activity中View状态的保持
- Android横竖屏切换时,状态和信息的维护
- 一篇介绍SNMP非常好的文章
- Linux下解压命令大全 解压缩 tar bz2 zip tar.gz gz
- 不要在php5.3下运行dedecms5.6版本
- 第十八周实验报告1
- Linux Shell Script 编写小结
- Android中配置改变(Configuration)的处理状态(重点横竖屏切换)
- 18ActiveX控件.txt
- 探寻C++最快的读取文件的方案 C++ IO优化
- Android的TextView使用Html来处理图片显示、字体样式、超链接等
- 断点无效问题
- Android的TextView/EditText使用CharacterStyle&SpannableString来处理图片显示、字体样式、超链接等
- PHP去除空格函数
- how to get around lines to show and for analyze!!
- 第十八周实验报告2