2

无论如何,这听起来可能是一个新手问题,我是 Android 开发的新手。

基本上我需要做的是防止活动改变它的旋转,但同时我需要检测设备方向的变化,即设备方向是否从顶部更改为底部,或从顶部更改为左纵向等。

在 iOS 中有一个类似物- (BOOL)shouldAutorotateToInterfaceOrientation,您可以在其中处理设备方向更改并告诉视图是否要自动旋转。请注意,加速度计数据没有任何手动数据处理。

所以基本上我想检测 DEVICE 的方向变化并防止 Activity 旋转。我还在使用来自传感器的数据来检测抖动。但在内部,Android 会对信号进行一些过滤,以决定何时旋转 UI。所以基本上我需要赶上那个事件。任何人都可以帮忙吗?


我的问题的简单表述:我需要在不手动播放传感器数据的情况下检测 android 设备方向的变化,同时保持活动方向坚持某个方向

4

3 回答 3

2

如果您想将一个方向固定为横向,这就是您需要做的事情,进入 AndroidManifest 并在您的活动中

<activity
    android:label="@string/app_name"
    android:name=".LoginScreen" 
    android:screenOrientation="landscape"
    android:configChanges="keyboardHidden|orientation">
    <intent-filter >
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity> 

添加这个...如果它的肖像然后将其更改为 android:screenOrientation="portrait"

对于运动,请参阅@thepoosh 链接,即 http://www.techrepublic.com/blog/app-builder/a-quick-tutorial-on-coding-androids-accelerometer/472

于 2012-06-27T08:11:03.970 回答
1

您正在寻找的是 XMLandroid:screenOrientation="portrait"并使用传感器来查找手机的位置。

安卓方向。

加速度计。

于 2012-06-27T08:02:27.297 回答
1

想办法解决。

http://android-er.blogspot.in/2010/08/orientationeventlistener-detect.html

于 2012-06-28T07:20:04.007 回答