我在这里有点困惑,我正在创建一个支持纵向和横向模式的应用程序。我注意到了#34; screenSize"参数作为布局在横向模式下获取设备的完整纵向高度。任何人都面临同样的问题。我真的卡在这里任何帮助都会很棒。
答案 0 :(得分:0)
请试试这个
android:configChanges="orientation|screenSize"
在您的活动代码中
快乐编码:)
答案 1 :(得分:0)
因此,通常,当配置值更改可能影响您当前活动的UI时,Android会销毁该活动,然后使用新配置重新创建该活动。这是首选方法,当您在android:configChanges属性中没有“方向”或“ screenSize”时会发生什么。如果您的应用没有任何状态(除了Android会自动处理的东西(例如输入字段值)之外),那么它应该可以正常工作。如果确实有一些状态值,则应该使用OnSaveInstanceState或ViewModel保存该状态,并在重新创建活动时恢复该状态。
当您使用“ android:configChanges =” orientation | screenSize“属性时,它告诉Android不要破坏,然后在大小/方向更改时重新创建活动,而是在您的活动中调用onConfigurationChanged(),您可以手动刷新用户界面。
所有这些都记录在这里:https://developer.android.com/guide/topics/resources/runtime-changes
我建议将android:configChanges属性从您的活动中完全删除。要防止软键盘最初出现,可以使用以下属性:
android:windowSoftInputMode =“ stateAlwaysHidden”