当我的 Activity 中有固定方向时,如何获取设备的方向?
How to get the orientation of my device when I have a fixed orientation in my Activity?
我的 Activity 有一个固定的纵向方向,我希望它保持纵向。
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
activity 响应式处理是没有意义的。
我的问题:我在应用程序中有一个包含 textView 的片段。
我希望该片段具有响应性,以便用户可以阅读文本。
我试图从 onConfigurationChanged 方法获取方向,但是当我转动我的设备时它不会被调用,因为它总是保持纵向。
现在我想弄清楚我的设备的方向,然后为片段设置动画以转动它。但是我还没有找到一种方法来获取我的设备的方向,但只有我的 Activity.
我也尝试用上面的方法设置片段方向不同于 activity 的方向但是那没有用(方向总是与 activity.) .
现在我真的不知道该怎么办了。
有谁知道如何独立于 Activity 上的方向获取设备的方向? -> 或者有其他想法如何解决我的问题?
您可以直接读取 android 传感器以确定方向:Sensors Overview
希望对您有所帮助
(但我真的不明白为什么你要在不旋转 activity 的情况下这样做。)
您可以使用OrientationEventListener
获取方位角值。
OrientationEventListener listener=new OrientationEventListener(this,SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
Log.d(tag, "Orientation = "+orientation);
}
};
listener.enable();
根据方向值,您可以确定设备的方向。
我的 Activity 有一个固定的纵向方向,我希望它保持纵向。
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
activity 响应式处理是没有意义的。
我的问题:我在应用程序中有一个包含 textView 的片段。 我希望该片段具有响应性,以便用户可以阅读文本。
我试图从 onConfigurationChanged 方法获取方向,但是当我转动我的设备时它不会被调用,因为它总是保持纵向。
现在我想弄清楚我的设备的方向,然后为片段设置动画以转动它。但是我还没有找到一种方法来获取我的设备的方向,但只有我的 Activity.
我也尝试用上面的方法设置片段方向不同于 activity 的方向但是那没有用(方向总是与 activity.) .
现在我真的不知道该怎么办了。 有谁知道如何独立于 Activity 上的方向获取设备的方向? -> 或者有其他想法如何解决我的问题?
您可以直接读取 android 传感器以确定方向:Sensors Overview
希望对您有所帮助
(但我真的不明白为什么你要在不旋转 activity 的情况下这样做。)
您可以使用OrientationEventListener
获取方位角值。
OrientationEventListener listener=new OrientationEventListener(this,SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
Log.d(tag, "Orientation = "+orientation);
}
};
listener.enable();
根据方向值,您可以确定设备的方向。