我真的很痛苦。
我已经设置了标记android:configChanges="keyboardHidden|orientation|locale"
但是当我更改语言配置时,不会调用onconfigurationchanged
函数。
奇怪的是,我的代码在其他Android平台上运行良好。
我在这里搜索了这个问题。
有人说我需要将sdk
版本设置得更低。但它没有用。
请给我一些提示。
答案 0 :(得分:14)
如果您使用的是API 17,请添加layoutDirection
属性,例如android:configChanges="keyboardHidden|orientation|locale|layoutDirection"
。
layoutDirection
。Piece of android docs关于android:configChanges
关于这一事实并不够明确,但至少我们有:
layoutDirection:布局方向已更改。例如,改变 从左到右(LTR)从右到左(RTL)。 在API级别17中添加。
答案 1 :(得分:4)
从Android 4.2开始,当我们更改语言时,将更新布局方向。 然后我们必须添加" locale"和" layoutDirection"如下 机器人:configChanges ="语言环境|的layoutDirection&#34 ;, 那个时候onConfigurationChanged()将被调用。
这类似于" orientation"和" screenSize"在API 13中。
答案 2 :(得分:-12)
你这样配置AndroidManifest.xml吗?
android:minSdkVersion =“4”android:targetSdkVersion =“17”
你需要删除android:targetSdkVersion属性