[代码]xml 跳至 [1] [2] [全屏预览]
1 | < activity android:name = ".FileBrowser" |
2 | android:label = "@string/app_name" |
3 | android:configChanges = "orientation|keyboardHidden" > |
4 |
5 | < intent-filter > |
6 | < action android:name = "android.intent.action.MAIN" /> |
7 | < category android:name = "android.intent.category.LAUNCHER" /> |
8 | </ intent-filter > |
9 | </ activity > |
2. [代码][Java]代码
01 | /** |
02 | * onConfigurationChanged |
03 | * the package:android.content.res.Configuration. |
04 | * @param newConfig, The new device configuration. |
05 | * 当设备配置信息有改动(比如屏幕方向的改变,实体键盘的推开或合上等)时, |
06 | * 并且如果此时有activity正在运行,系统会调用这个函数。 |
07 | * 注意:onConfigurationChanged只会监测应用程序在AnroidMainifest.xml中通过 |
08 | * android:configChanges="xxxx"指定的配置类型的改动; |
09 | * 而对于其他配置的更改,则系统会onDestroy()当前Activity,然后重启一个新的Activity实例。 |
10 | */ |
11 |
12 | @Override |
13 | public void onConfigurationChanged(Configuration newConfig) { |
14 |
15 | super .onConfigurationChanged(newConfig); |
16 |
17 | // 检测屏幕的方向:纵向或横向 |
18 | if ( this .getResources().getConfiguration().orientation |
19 | == Configuration.ORIENTATION_LANDSCAPE) { |
20 | //当前为横屏, 在此处添加额外的处理代码 |
21 | } |
22 |
23 | else if ( this .getResources().getConfiguration().orientation |
24 | == Configuration.ORIENTATION_PORTRAIT) { |
25 | //当前为竖屏, 在此处添加额外的处理代码 |
26 | } |
27 |
28 | //检测实体键盘的状态:推出或者合上 |
29 | if (newConfig.hardKeyboardHidden |
30 | == Configuration.HARDKEYBOARDHIDDEN_NO){ |
31 | //实体键盘处于推出状态,在此处添加额外的处理代码 |
32 | } |
33 |
34 | else if (newConfig.hardKeyboardHidden |
35 | == Configuration.HARDKEYBOARDHIDDEN_YES){ |
36 | //实体键盘处于合上状态,在此处添加额外的处理代码 |
37 |
38 | } |
39 |
40 | } |