Я работаю над некоторыми функциями для моего нового проекта, где у меня есть страница с контентом, которую мне нужно всегда показывать в Portrait. Я уже достиг этого, внедрив пользовательские средства визуализации и переопределив OnWindowVisibilityChanged
для Android (в данный момент я не вхожу в iOS). Проблема в том, что когда я перехожу на новую страницу из книжной, следующая должна поддерживать обе ориентации, но отображается только в книжной.
Я полагаю, что есть способ достичь этого без применения пользовательских средств визуализации для каждой страницы, которую мне нужно показывать после страницы с фиксированной ориентацией.
Есть предложения?
Вот моя основная реализация OnWindowVisibilityChanged
protected override void OnWindowVisibilityChanged([GeneratedEnum] ViewStates visibility)
{
base.OnWindowVisibilityChanged(visibility);
var activity = (Activity)Context;
if (visibility.Equals(ViewStates.Gone))
{
// go back to previous orientation
activity.RequestedOrientation = _previousOrientation;
}
else if (visibility.Equals(ViewStates.Visible))
{
if (_previousOrientation.Equals(ScreenOrientation.Sensor))
{
_previousOrientation = activity.RequestedOrientation;
}
activity.RequestedOrientation = ScreenOrientation.Portrait;
}
}