Ste*_*aly 40 java configuration android orientation
告诉Android onCreate()在方向改变时不打电话我遇到了麻烦.我已经添加android:configChanges="orientation"到我的清单中但仍然onCreate()调用了方向更改.这是我的代码.
AndroidManifest.xml中
<activity android:name="SearchMenuActivity" android:theme="@android:style/Theme.NoTitleBar" android:configChanges="orientation"></activity>
Run Code Online (Sandbox Code Playgroud)
SearchMenuActivity.java
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set the current layout to the search_menu
setContentView(R.layout.search_menu_activity);
Log.d(TAG, "onCreate() Called");
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
//don't reload the current page when the orientation is changed
Log.d(TAG, "onConfigurationChanged() Called");
super.onConfigurationChanged(newConfig);
}
Run Code Online (Sandbox Code Playgroud)
和我的LogCat输出
06-23 12:33:20.327: DEBUG/APP(2905): onCreate() Called
//Orientation Changes
06-23 12:33:23.842: DEBUG/APP(2905): onCreate() Called
Run Code Online (Sandbox Code Playgroud)
有谁知道我做错了什么?谢谢.
nmr*_*nmr 80
对于同样的问题,这是我的问题:
注意:从Android 3.2(API级别13)开始,当设备在纵向和横向之间切换时,"屏幕大小"也会更改.因此,如果要在开发API级别13或更高级别(由minSdkVersion和targetSdkVersion属性声明)时由于方向更改而阻止运行时重新启动,则除了"orientation"值之外,还必须包含"screenSize"值.也就是说,你必须decalare android:configChanges ="orientation | screenSize".但是,如果您的应用程序的目标是API级别12或更低,那么您的活动始终会自行处理此配置更改(即使在Android 3.2或更高版本的设备上运行,此配置更改也不会重新启动您的活动).
(来自http://developer.android.com/guide/topics/resources/runtime-changes.html)
TL; DR:为API 14+添加"| screenSize"到android:configChanges ="orientation"
sha*_*net 56
有几件事要尝试:
android:configChanges="orientation|keyboardHidden|screenSize" 而不是 android:configChanges="orientation"
确保您没有setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);在任何地方打电话.这将导致onConfigurationChange()不会触发.
检查您是否android:screenOrientation在清单中使用.
如果这些都不起作用,请阅读Android文档,了解处理运行时更改并确保正确执行所有操作.您的代码中可能存在导致问题的其他地方.http://developer.android.com/guide/topics/resources/runtime-changes.html
编辑:正如derrik指出的那样,我假设你正在改变配置,加速度计检测设备面向的方式.如果您希望在显示/隐藏键盘时更改配置,则清单中的configChanges也必须包含keyboardHidden.
son*_*ida 10
试试这个......
android:configChanges="orientation|keyboardHidden|screenSize"
Run Code Online (Sandbox Code Playgroud)
您应该将AndroidManifest.xml中的configChanges条目更改为:
android:configChanges="keyboardHidden|orientation"
Run Code Online (Sandbox Code Playgroud)
否则,即使方向发生变化,滑动键盘也不会触发onConfigurationChange().我刚在HTC Desire Z上测试了这个.
| 归档时间: |
|
| 查看次数: |
45301 次 |
| 最近记录: |