【发布时间】:2017-04-08 07:54:10
【问题描述】:
如何在将布局保持在纵向模式的同时检测横向模式?
我有一项活动,无论实际移动方向如何,都可以保持纵向模式。我可以通过将android:screenOrientation="portrait" 添加到清单中的活动配置来做到这一点。
但是,我想在保持纵向活动的同时检测 screenOrientation。
我已尝试使用以下代码:
@Override
public void onConfigurationChanged(Configuration newConfig) {
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
recordConfigChanges(newConfig); // Performs some variable changes or similar
}
// Maintain activity in portrait mode itself
Configuration customConfig = newConfig;
customConfig.orientation = Configuration.ORIENTATION_PORTRAIT;
super.onConfigurationChanged(customConfig);
}
上面的代码不保持纵向,它将 UI 旋转到横向模式。 重复最初的问题,如何在将布局保持在纵向模式的同时检测横向模式?
【问题讨论】:
-
我尝试了几个 sn-ps 但问题是如果我们使用清单或运行时设置或请求纵向布局,我们无法获得
onConfigurationChanged的回调。我们需要像观察者这样的东西来观察手机配置的变化并在方向改变时触发事件。 -
@BipinVayalu - 是的,你是对的。我正在寻找那个观察者或类似的人。
标签: android android-layout android-configchanges onconfigurationchanged