Поместите этот ресурс 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