我真的为这个问题而苦恼。我已经设置了标志android:configChanges="keyboardHidden|orientation|locale"
但是当我更改语言配置时,onconfigurationchanged
不会调用函数。奇怪的是,我的代码在其他 android 平台上运行良好。
我在这里搜索了这个问题。有人说我需要将sdk
版本设置得更低。但它没有用。
请给我一些提示。
我真的为这个问题而苦恼。我已经设置了标志android:configChanges="keyboardHidden|orientation|locale"
但是当我更改语言配置时,onconfigurationchanged
不会调用函数。奇怪的是,我的代码在其他 android 平台上运行良好。
我在这里搜索了这个问题。有人说我需要将sdk
版本设置得更低。但它没有用。
请给我一些提示。
添加layoutDirection
属性,例如,android:configChanges="keyboardHidden|orientation|locale|layoutDirection"
如果您正在使用 API 17。
layoutDirection
这也与 API 17 中引入的界面语言更改有关。关于这一事实的一段 android 文档android:configChanges
还不够明确,但至少我们有:
layoutDirection:布局方向发生了变化。例如,从左到右 (LTR) 更改为从右到左 (RTL)。在 API 级别 17 中添加。
从 Android 4.2 开始,当我们更改语言时,布局方向将被更新。然后我们必须添加“locale”和“layoutDirection”,如下所示 android:configChanges="locale|layoutDirection",届时将调用 onConfigurationChanged()。
这与 API 13 中的“orientation”和“screenSize”类似。
你像这样配置 AndroidManifest.xml 吗?
android:minSdkVersion="4" android:targetSdkVersion="17"
你需要删除 android:targetSdkVersion 属性