MVVM Cross android вопрос ориентации - PullRequest
0 голосов
/ 02 марта 2020

Мне нужно изменить ориентацию в соответствии с планшетом (обе ориентации) для телефона (только portriat), пожалуйста, дайте мне знать, как это сделать в MVVM Cross в Android

[Activity (ScreenOrientation = ScreenOrientation.Portrait, Theme = "@ style / AppTheme")]

1 Ответ

0 голосов
/ 02 марта 2020

Поместите этот ресурс bool в res/values как devices_config.xml или как угодно (имена файлов здесь не имеют значения):

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool name="portrait_only">true</bool>
</resources>

Поместите этот ресурс в res/values-sw600dp и res/values-xlarge:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <bool name="portrait_only">false</bool>
</resources>

Затем в методе OnCreate вашей Деятельности вы можете сделать это:

if (Resources.GetBoolean(Resource.Boolean.portrait_only))
{
    RequestedOrientation = ScreenOrientation.Portrait;
}

Устройства, которые имеют более 600 dp в направлении наименьшей ширины или x-large на устройства pre- Android 3.2 (планшеты, в основном) будут вести себя как обычно, основываясь на датчике и заблокированном пользователем повороте и т. д. c. Все остальное (телефоны, в основном) будет только портретным.

Основано на этом ответе

На всякий случай, возможно, что вы увидите некоторые авторотации при смене действий, так что если это так, вы можете проверить этот ответ, чтобы исправить это

HIH

...