强制仅使用纵向xml布局android?

时间:2018-08-27 13:52:43

标签: android xml android-layout

我在纵向和横向都有一个名为activity_main.xml的xml文件。问题在于xml具有相同的名称,但是内部的标记完全不同。 根据某些条件,在OnCreate方法中输入时是否可以强制活动仅使用纵向模式。在清单中设置屏幕方向不适合我的情况。

我尝试过:

node-sp-auth

当用户尝试以横向模式打开活动,而手机处于横向模式,然后打开import * as spauth from 'node-sp-auth'; import * as request from 'request-promise'; spauth .getAuth('http://xxx.botshop.cloudappsportal.com/', { username: 'administrator', password: '[password]', domain: 'sp' }) .then(data =>{ let headers = data.headers; headers['Accept'] = 'application/json;odata=verbose'; let requestOpts = data.options; requestOpts.json = true; requestOpts.headers = headers; requestOpts.url = 'http://xxx.botshop.cloudappsportal.com/_api/web/lists/getbytitle('myfile')/items'; request.get(requestOpts).then(response => { console.log(response.d.Title); }); }); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); 试图从Land文件夹中获取activity_main.xml时出现问题,但是我想从肖像,这是可能的还是我的逻辑是错误的。

3 个答案:

答案 0 :(得分:0)

您可以使用此功能:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

https://stackoverflow.com/a/50616559/5551621

答案 1 :(得分:0)

您可以使用以下代码将活动强制为仅纵向模式

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

答案 2 :(得分:0)

创建layout-land.xml,它将在定位空间时自动调用

这两种方法都可以通过在screenOrientation的活动标签中使用AndroidManifest标签来强制设置方向

android:screenOrientation="landscape"

或使用下一个方法

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);