`
dengzhangtao
  • 浏览: 666792 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Activity的onConfigurationChanged事件

阅读更多
注意:onConfigurationChanged事件并不是只有屏幕方向改变才可以触发,其他的一些系统设置改变也可以触发,比如打开或者隐藏键盘。

当我们的屏幕方向发生改变时,就可以触发onConfigurationChanged事件。我们要想当前的activity捕获这个事件,需要做以下这么几件事情。

第一:权限声明:

<uses-permission android:name="android.permission.CHANGE_CONFIGURATION"></uses-permission>

API中说该权限允许我们改变配置信息,但是我们再改变屏幕方向的程序中却并没有用到该权限,是不是相互冲突了呢?这里我们可以这样认为,当我们声明该权限的的时候,系统允许我们通过重写activity中的onConfigurationChanged方法来捕获和修改某些配置信息。

第二:声明activity要捕获的事件类型,



<activity
      android:name=".EX05_23"
      android:label="@string/app_name"
      android:configChanges="orientation|keyboard">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>

这里一定要声明android:configChanges属性,该属性规定了我们可以在程序中捕获到的事件类型,多个事件类型用|分隔。

如果这里没有orientation,那么我们再程序中是无法捕获到屏幕改变的事件的。

第三:

重写Activity中的onConfigurationChanged方法。

例如:


@Override
public void onConfigurationChanged(Configuration newConfig) {
  // 当新设置中,屏幕布局模式为横排时
  if(newConfig.orientation == ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
  {
   //TODO 某些操作
  }
  super.onConfigurationChanged(newConfig);
}

0
1
分享到:
评论

相关推荐

    Android笔记之:onConfigurationChanged详解

    keyboard|keyboardHidden” 通过查阅Android API可以得知android:onConfigurationChanged实际对应的是Activity里的onConfigurationChanged()方法。在AndroidManifest.xml中添加上诉代码的含义是表示在改变屏幕方向...

    Android应用级小知识.doc

    Android应用级小知识一、关于onConfigurationChanged()的几点小知识Android中横竖屏(landscape是横向,portrait是纵向)切换时:没有调用onConfigurationChanged(),Activity执行过程为:onPause()—&gt;onStop()—&gt;...

    解析Android横竖屏切换的问题

    在做android 开发时,在默认情况下当屏幕从竖评变到横屏时会触发 onConfigurationChanged 事件 在默认情况下会重新加载画面并显示和横评一样的画面,这样会有2个问题,布局问题,在竖屏 显示的布局到横屏中由于宽和...

    Android监听横竖屏切换功能

    ConfigChanges,用于捕获手机状态的改变,当横竖屏切换,屏幕尺寸变化,弹出键盘,系统设置改变等条件,就会触发回调事件onConfigurationChanged。让Activity捕捉到该事件,需要做如下步骤: 声明Activity需要捕捉的...

    疯狂Android讲义源码

     3.2.5 Activity本身作为事件监听器 153  3.2.6 匿名内部类作为事件监听器类 154  3.2.7 直接绑定到标签 155  3.3 基于回调的事件处理 156  3.3.1 回调机制与监听机制 156  3.3.2 基于回调的事件传播 158  ...

    疯狂Android讲义.part2

    3.2.5 Activity本身作为事件监听器 153 3.2.6 匿名内部类作为事件监听器类 154 3.2.7 直接绑定到标签 155 3.3 基于回调的事件处理 156 3.3.1 回调机制与监听机制 156 3.3.2 基于回调的事件传播 158 3.3.3 重写...

    疯狂Android讲义.part1

    3.2.5 Activity本身作为事件监听器 153 3.2.6 匿名内部类作为事件监听器类 154 3.2.7 直接绑定到标签 155 3.3 基于回调的事件处理 156 3.3.1 回调机制与监听机制 156 3.3.2 基于回调的事件传播 158 3.3.3 重写...

    浅谈android Fragment横竖屏翻转对重新加载的要求

    有时候,我们在同一个activity里面有很多fragment,在...如果在activity里面继承了onConfigurationChanged这个方法之后,这个activity和里面的fragment是不会重新加载的,也就是说显示的数据和UI不会改变,只是将竖屏

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒...

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒...

    Android编程判断横屏、竖屏及设置横竖屏的方法

    还是这个手机项目,有一个需求是整个工程中只有刚进去的界面允许横屏显示,并且要将该界面的标题隐藏,当切换回竖屏显示的时候,标题变为可见,一开始我百度了一下有一个监听activity是否横屏竖屏的监听函数,如下:...

    Google Android SDK开发范例大全的目录

    5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 –p254 6.1 您有一条短信popup...

    Google+Android+SDK开发范例大全

    5.21 任务管理器正在运行的程序——RunningTaskInfo 5.22 动态更改屏幕方向——LANDSCAPE与PORTRAIT 5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——...

    Google Android SDK开发范例大全(完整版附部分源码).pdf

    5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒...

    Google Android sdk 开发范例大全 部分章节代码

    5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 –p254 6.1 您有一条短信popup...

    Google Android SDK 开发范例大全01

    5.23 系统设置更改事件——onConfigurationChanged信息处理 5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 –p254 6.1 您有一条短信popup...

Global site tag (gtag.js) - Google Analytics