如何设置仅纵向的对话框?

发布于 2024-12-23 07:55:05 字数 154 浏览 2 评论 0原文

有没有办法始终以纵向方式显示对话框?我需要它是因为它的布局。

我知道我可以为活动设置它,

android:screenOrientation="portrait|reversePortrait"

但是对话框呢?

Is there a way to showing a dialog always in portrait? I need that because of its layout.

I know that I can set that for an Activity with

android:screenOrientation="portrait|reversePortrait"

But what about a dialog?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冰魂雪魄 2024-12-30 07:55:05

显示对话框时,检查设备的方向。

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

At the time of the dialog showing, check the device's orientation.

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int orientation = display.getOrientation();
//if orientation is portrait then show, if not then don't.
恋竹姑娘 2024-12-30 07:55:05

不确定这些方法是否适合您的要求,

一种方法是将活动显示为屏幕方向设置为纵向的对话框(带有对话框主题)
参考 ApiDemos 中的 DialogActivity

另一种方法是强制 Activity 改变其方向,

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

并在 onConfigurationChanged() 中打开对话框(带有一些逻辑)。

Not sure these ways will fit your requirement ,

One way is showing Activity as a dialog with screen orientation set to portrait (with dialog theme)
refer DialogActivity from ApiDemos

Other way is forcing activity to change its orientation by

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

and open dialog in onConfigurationChanged() (with some logic).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文