2012-04-17 68 views
0

我正在使用android手机开发自助终端系统。方便地使用肖像模式作为标准,并且如果将其旋转到我的需要,将随传感器切换到风景。我的问题是,这种设备编程的布局会在运行时并排执行许多并行效果,因为它总是会切换到纵向,然后记住传感器方向并切换回风景。这意味着肖像模式的实施对我的发展并不是很舒服。 现在,我在开发工具看到的配置应用程序,它显示我的设备配置:如何在android中更改设备方向?

orientation=1 

我的问题是:我有哪些文件进行编辑,更改设备定向标准景观,使上面的应用将显示我景观。 (手机已根植)

我想从手机肖像模式切换到平板电脑横向模式,而不仅仅是一个应用程序!

回答

4

你需要做的是编辑AndroidManifest.xml文件,并指定为您的活动方位,以及手柄的方向改变自己:

<activity android:name="MyActivity" 
      android:label="@string/app_name" 
      ... 
      android:configChanges="orientation|keyboardHidden" 
      ... 
      android:screenOrientation="landscape"> 

那么你的活动将一直在风景模式下运行不管设备方向。

编辑:如果你想以编程方式启用/禁用自动旋转,那么你可以使用此代码:

public static void setAutoOrientationEnabled(ContentResolver resolver, boolean enabled) 
{ 
    Settings.System.putInt(resolver, Settings.System.ACCELEROMETER_ROTATION, enabled ? 1 : 0); 
} 

但是请注意,这会影响到设备上运行的所有应用程序。

+0

添加谢谢你的答案。如果我离开我的申请并因此离开清单,我的副作用就来了。所以我正在寻找一个系统文件,我可以将安装的android更改为平板模式和风景。应用程序本身正在处理您的答案,但并未解决硬件问题。我有另一个平板与相同的Android版本,这是阿尔维斯在横向模式,但我不知道在哪里改变这个:( – 2012-04-17 10:04:12

+0

如果我明白这一点,你想这样设置模式在你的代码为每个表,一旦景观和另一幅肖像是正确的? – 2012-04-17 10:09:45

+1

不,我想保留我的手机硬件作为示例演示,而不是使用横向模式构建平板电脑。我想将Android的系统配置更改为平板横向模式,就像我将改变全局新闻部在建设。概率文件。 – 2012-04-17 10:11:51

0

如果你想保持方位景观,在您的Manifest.xml补充一点:

<activity android:name="MyActivity" android:screenOrientation="landscape"></activity> 
+0

谢谢,但我想改变它全球,而不是在一个单一的应用程序。 – 2012-04-17 10:08:18

2

嗨这是你在找什么?这会将应用程序定位为景观。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

+0

不,现在看看我的问题: orientation = 1在devtools中的肖像模式 orientation = 2 for landscape devices这意味着某处必须更改设备的此值,例如/system/build.prop文件中的DPI设置。您的代码会像传感器一样执行运行时更改。我想要系统设置。显示我的方向的应用程序向我展示了DPI设置,但我不知道涉及的文件。 – 2012-04-17 11:52:50

+1

这就是Google在将我带到此页面时所寻找的内容......所以+1。 – 2013-09-17 00:21:53

0

这线程是5岁老 - 我回答,以帮助这里以后有人把手.. 我想这里的每个ANS有关应用程序特定的方向变化谈判。下面是你应该考虑一下改变方向为全设备

运行时:在/system/build.prop添加: -

# Makes portrait only 
persist.panel.orientation=90 

要在构建树添加:在相同

device/<vendor>/<processor>/system.prop 
相关问题