我在Android中使用OpenCV。我被迫使用
android:screenOrientation="landscape"
在我的AndroidManifest.xml
中我面临的问题是我想根据屏幕方向仅旋转一个按钮。其余部分必须保持不旋转状态。
这可能吗?
我添加到Manifest File的行是否会阻止检测所有未来的旋转?
答案 0 :(得分:2)
是的,添加的行会阻止所有旋转。
您可以在/ res下创建一个名为'layout-land'的新文件夹(不含引号),将您的布局复制到这些文件夹并进行修改。 Android读取布局文件夹以进行protait方向,并使用layout-land来显示布局横向方向。
答案 1 :(得分:1)
您可以利用本文所述的位置传感器(Position Sensor)来确定手机的方向。
这样,您可以在onSensorChanged()中获得如下角度。
@Override
public void onSensorChanged(SensorEvent event) {
float azimuth_angle = event.values[0];
float pitch_angle = event.values[1];
float roll_angle = event.values[2];
// Do something with these orientation angles.
}
希望这有帮助。
答案 2 :(得分:1)
您需要为此提供布局。
例如。
res
layout
main.xml
layout-land
main.xml
现在在-land
文件夹下创建所需的布局。它将在手机旋转时加载。
随意提出任何问题。