簡體   English   中英

如何在android中以編程方式控制橫向和縱向?

[英]How to control landscape and portrait programmatically in android?

我使用android sdk 4.0在應用程序上開發,然后在我的三星選項卡中安裝.apk文件。 當我運行該應用程序時,它正常工作。 如果我將標簽縱向更改為橫向或反向,則屏幕也會更改。

但我的要求是無論是縱向還是橫向更改模式到橫向到縱向,我的應用程序應該只在縱向模式下運行。

為manifest.xml文件中的每個活動添加android:screenOrientation="portrait"

您也可以通過編程方式執行此操作,為您的所有活動創建所有活動擴展的AbstractActivity .:

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

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

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

比如這樣,

<activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="portrait">

從活動類,您可以使用以下代碼,

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

您可以將其用於橫向

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

要更改為縱向模式,請使用

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

在您的清單文件中

<activity android:name=".MainActivity" android:label="@string/app_name" android:screenOrientation="portrait">

然后將其添加到您的java類:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

如果你先搜索,你會發現這個問題已經回答了。 我會在這里再次發布答案。

轉到清單文件,並在要保留縱向的活動下,插入以下行
android:screenOrientation =“portrait”下面給出一個例子。

<activity android:name=".YourActivity"
      android:label="Your Activoity"
      android:screenOrientation="portrait">

這將使您的活動僅被強制為縱向模式,即使您將設備保持在橫向模式下也是如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM