如何在android中以编程方式控制横向和纵向?

use*_*949 8 android

我使用android sdk 4.0在应用程序上开发,然后在我的三星选项卡中安装.apk文件.当我运行该应用程序时,它正常工作.如果我将标签纵向更改为横向或反向,则屏幕也会更改.

但我的要求是无论是纵向还是横向更改模式到横向到纵向,我的应用程序应该只在纵向模式下运行.

Jai*_*dra 18

android:screenOrientation="portrait"为manifest.xml文件中的每个活动添加.

您也可以通过编程方式执行此操作,因为您的AbstractActivity所有活动都会延伸到您的所有活动.: -

public abstract class AbstractActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
}
Run Code Online (Sandbox Code Playgroud)


Luc*_*fer 7

您可以在AndroidManifest.xml中定义模式,如下所示,

android:screenOrientation="portrait" 之后 android:name=".activityName"

比如这样,

<activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="portrait">
Run Code Online (Sandbox Code Playgroud)

从活动类,您可以使用以下代码,

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Run Code Online (Sandbox Code Playgroud)


App*_*eet 6

您可以将其用于横向

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
Run Code Online (Sandbox Code Playgroud)

要更改为纵向模式,请使用

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Run Code Online (Sandbox Code Playgroud)