繁体   English   中英

android:configChanges =“screenSize”参数在横向模式下采用纵向高度

[英]android:configChanges=“screenSize” parameter is taking portrait height in landscape mode

我在这里很困惑,我正在创建一个支持纵向和横向模式的应用程序。我注意到“screenSize”参数的奇怪行为,因为布局在横向模式下占据设备的完整纵向高度。是否有人面对同样的问题。我真的被困在这里任何帮助都会很棒。

请试试这个

android:configChanges="orientation|screenSize"

在您的活动标签内

快乐编码:)

因此,通常情况下,当配置值发生变化会影响当前活动的UI时,Android会销毁该活动,然后使用新配置重新创建活动。 这是首选的方法,当你在android:configChanges属性中没有“orientation”或“screenSize”时会发生什么。 如果你的应用程序没有任何状态(除了Android自动处理的东西,比如键入字段值),那么它应该可以正常工作。 如果确实有某些状态值,则应使用OnSaveInstanceState或ViewModel保存该状态,并在重新创建活动时恢复该状态。

当你使用“android:configChanges =”orientation | screenSize“属性时,它告诉Android不要销毁,然后在大小/方向改变时重新创建活动。相反,它将在你的活动中调用onConfigurationChanged(),这取决于你手动刷新UI。

所有这些都记录在这里: https//developer.android.com/guide/topics/resources/runtime-changes

我建议完全从你的活动中取出android:configChanges属性。 要防止软键盘最初出现,您可以使用以下属性:

机器人:windowSoftInputMode = “stateAlwaysHidden”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM