【问题标题】:Disable app rotation if resolution is small如果分辨率很小,则禁用应用旋转
【发布时间】:2023-03-18 01:38:01
【问题描述】:

我目前正在使用 Jetpack Compose 开发一个用 Kotlin 编写的 Android 应用程序。我的目标是获得一个响应式应用程序,它可以响应式地在智能手机和桌子上运行。为此,我获取用户的当前宽度,然后决定该宽度如何显示 UI,因为在某些情况下我必须显示其他内容。

我通过使用 BoxWithConstraints 获取用户显示的当前宽度:

BoxWithConstraints(modifier = Modifier.fillMaxSize())
{
   val largeScreen = this.maxWidth > 1000.dp
}

目前这可以正常工作,但是当用户将智能手机上的屏幕旋转到横向时,由于设备的高度太小,我会遇到问题。在我的应用程序中,在横向中使用它甚至没有意义。而且我不希望用户在智能手机的应用程序中使用横向。在平板设备上可以,但在智能手机上不行。

我能找到的只是锁定整个应用的纵向模式。但我希望能够在平板电脑上启用横向和纵向,并仅在智能手机上启用纵向模式。

有没有人也遇到过这个问题。

非常感谢!

【问题讨论】:

标签: android kotlin responsive-design android-jetpack-compose screen-rotation


【解决方案1】:

getRequestedOrientation() 和相同的设置器。您可以使用 largeScreen 布尔值对前者设置条件,如果屏幕很大则允许横向旋转,否则在后者的帮助下阻止。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 1970-01-01
    • 2014-11-11
    • 2021-01-27
    • 1970-01-01
    相关资源
    最近更新 更多