仅在横向模式下运行应用程序?

时间:2011-09-23 07:03:47

标签: android landscape

我想在我的设备上以横向模式运行Hello World示例应用程序。

如果设备改为肖像,我会想要一个烤面包机。例如“请转到横向模式以运行您的应用程序”。

我该怎么做?

5 个答案:

答案 0 :(得分:42)

您可以按以下方式进行编程:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

或者也可以在清单文件中以

形式提供
<activity android:name=".YourActivity"  android:screenOrientation="landscape" android:configChanges="keyboardHidden|orientation"/>

答案 1 :(得分:8)

将其添加到清单文件中的活动代码:

android:screenOrientation="landscape"

它会将您的方向固定为横向模式,您无需向用户显示任何干杯。

答案 2 :(得分:3)

在您的Manifestfile(xml)

<activity android:name=".ActivityName" android:screenOrientation="landscape">
    </activity>

另请参阅Is that possible to check was onCreate called because of orientation change?

答案 3 :(得分:1)

您可以尝试这样的事情

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

Log.v("log_tag", "display width is "+ width);
Log.v("log_tag", "display height is "+ height);

if(width<height){
    Toast.makeText(getApplicationContext(),"Device is in portrait mode",Toast.LENGTH_LONG ).show();
} else {
    Toast.makeText(getApplicationContext(),"Device is in landscape  mode",Toast.LENGTH_LONG ).show();
}

答案 4 :(得分:0)

您可以使用configChanges - 属性作为要捕获屏幕方向更改的活动。

之后,当方向发生变化时,系统会调用您的活动中的onConfigurationChanged()-method

要检查当前显示的方向,请查看旧帖子:Check orientation on Android phone

之后,您可以炫耀您的信息或做您喜欢的事情(当然您也可以将其设置为仅以横向显示)。