簡體   English   中英

如何在UWP應用中鎖定平板電腦屏幕旋轉?

[英]How to lock tablet screen rotation in UWP app?

我希望在Windows 10上運行的UWP應用僅支持橫向方向,但這是一個問題。 首先,我提出了這個問題: 鏈接

來自GitHub的示例運行正常,然后我嘗試使用復選框設置方向,當我設置方向時,如下所示:

DisplayOrientations orientations = DisplayOrientations.Landscape;
DisplayInformation.AutoRotationPreferences = orientations;

它也可以。 大。

但這是一個問題。 如果您嘗試按開始以暫停應用程序,然后再次按以恢復應用程序,則所有輪播首選項都將默認設置。 就像重置輪播首選項一樣。

我試圖設置Suspending方法,但是它不起作用。 嘗試使用調試器,如果沒有調試器,則無法使用。 在清單文件中設置“支持的旋轉”和“鎖定屏幕”聲明也不起作用。 有人可以幫我嗎?

盧斯金說的那樣。

[DllImport("user32.dll", EntryPoint = "#2507")]
extern static bool SetAutoRotation(bool bEnable);

SetAutoRotation(false);

這是一個鏈接

在此處輸入圖片說明 一些有用的鏈接: 創建Windows應用程序應用程序生命周期顯示方向示例

如果在平板電腦模式下僅在Package.appxmanifest(雙擊/橫向)中進行設置,則可以嘗試在應用恢復時進行設置。

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();

        Application.Current.Resuming += Application_Current_Resuming;
    }

    private async void Application_Current_Resuming(object sender, object e)
    {
        await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, new Windows.UI.Core.DispatchedHandler(() =>
        {
            // Your code here
        }));
    }
}

我認為最好的解決方案是:您可以將應用程序鎖定為橫向模式,例如:

Windows.Graphics.Display.DisplayInformation.AutoRotationPreferences = Windows.Graphics.Display.DisplayOrientations.Landscape;

然后,當您要將自動旋轉返回給用戶時,請使用以下代碼:

Windows.Graphics.Display.DisplayInformation.AutoRotationPreferences = Windows.Graphics.Display.DisplayOrientations.Landscape | Windows.Graphics.Display.DisplayOrientations.LandscapeFlipped
                | Windows.Graphics.Display.DisplayOrientations.None | Windows.Graphics.Display.DisplayOrientations.Portrait | Windows.Graphics.Display.DisplayOrientations.PortraitFlipped;

問候

暫無
暫無

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

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