Как установить диалог только для портрета? - PullRequest
0 голосов
/ 28 декабря 2011

Есть ли способ показывать диалог всегда в портретной ориентации? Мне нужно это из-за его расположения.

Я знаю, что могу установить это для действия с

android:screenOrientation="portrait|reversePortrait"

А как насчет диалога?

Ответы [ 2 ]

1 голос
/ 04 июня 2013

Не уверен, что эти способы подойдут под ваши требования,

Один из способов - показать «Активность» в виде диалога с ориентацией экрана, установленной на «Портрет» (с темой диалога) см. DialogActivity от ApiDemos

Другой способ - заставить деятельность изменить свою ориентацию на

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

и откройте диалог в onConfigurationChanged() (с некоторой логикой).

1 голос
/ 28 декабря 2011

Во время отображения диалогового окна проверьте ориентацию устройства.

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int orientation = display.getOrientation();
//if orientation is portrait then show, if not then don't.
...