7

我真的为这个问题而苦恼。我已经设置了标志android:configChanges="keyboardHidden|orientation|locale"

但是当我更改语言配置时,onconfigurationchanged不会调用函数。奇怪的是,我的代码在其他 android 平台上运行良好。

我在这里搜索了这个问题。有人说我需要将sdk版本设置得更低。但它没有用。

请给我一些提示。

4

3 回答 3

14

添加layoutDirection属性,例如,android:configChanges="keyboardHidden|orientation|locale|layoutDirection"如果您正在使用 API 17。

layoutDirection这也与 API 17 中引入的界面语言更改有关。关于这一事实的一段 android 文档android:configChanges还不够明确,但至少我们有:

layoutDirection:布局方向发生了变化。例如,从左到右 (LTR) 更改为从右到左 (RTL)。在 API 级别 17 中添加

于 2012-12-19T18:53:24.207 回答
6

从 Android 4.2 开始,当我们更改语言时,布局方向将被更新。然后我们必须添加“locale”和“layoutDirection”,如下所示 android:configChanges="locale|layoutDirection",届时将调用 onConfigurationChanged()。

这与 API 13 中的“orientation”和“screenSize”类似。

于 2014-07-11T09:09:55.647 回答
-13

你像这样配置 AndroidManifest.xml 吗?

android:minSdkVersion="4" android:targetSdkVersion="17"

你需要删除 android:targetSdkVersion 属性

于 2013-10-30T03:43:47.053 回答