我想在我的设备上以横向模式运行Hello World示例应用程序。
如果设备改为肖像,我会想要一个烤面包机。例如“请转到横向模式以运行您的应用程序”。
我该怎么做?
答案 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
之后,您可以炫耀您的信息或做您喜欢的事情(当然您也可以将其设置为仅以横向显示)。