在撰写中禁用横向模式

2024-01-09

如何禁用可组合函数的横向模式?我想始终以纵向模式显示可组合项。

PS:无法在活动的清单文件中设置它,因为我只希望此行为适用于一个可组合项,而不适用于活动中的其他可组合项。


你可以这样做DisposableEffect+ 活动requestedOrientation.

@Composable
fun LockScreenOrientation(orientation: Int) {
    val context = LocalContext.current
    DisposableEffect(Unit) {
        val activity = context.findActivity() ?: return@DisposableEffect onDispose {}
        val originalOrientation = activity.requestedOrientation
        activity.requestedOrientation = orientation
        onDispose {
            // restore original orientation when view disappears
            activity.requestedOrientation = originalOrientation
        }
    }
}

fun Context.findActivity(): Activity? = when (this) {
    is Activity -> this
    is ContextWrapper -> baseContext.findActivity()
    else -> null
}

Usage:

@Composable
fun Screen() {
    LockScreenOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在撰写中禁用横向模式 的相关文章

随机推荐

  • 使用 Wix 工具集安装应用程序的多个实例

    我只需要安装应用程序的多个实例 将它们保存在不同的文件夹中 桌面上没有快捷方式 换句话说 当应用程序已安装在文件夹中时 如果我再次双击 msi 文件 安装程序不应询问我是否要修复或删除我的应用程序 而只是允许安装它在一个新文件夹中 我怎么解
  • Cache-Control s-maxage 标头是否会覆盖浏览器缓存的 Expires 标头?

    我想设置一个遥远的未来过期标头以减少来自各个浏览器的请求 我还想设置 Cache Control s maxage 600 以便代理缓存 和 CDN 每 10 分钟与源重新验证一次新内容 尽管存在带有 s maxage 指令的 Cache
  • 是否可以使用与 Java 中相同的语法在 Groovy 中使用 JavaFX?

    我使用的是jdk1 8 0 25 我正在尝试运行一个 JavaFX 应用程序文件 在该文件下 当名为 HelloWorldMain java 时 可以使用 javac java 编译并运行正常 我将其重命名为 HelloWorldMain
  • JavaScript比较危机

    我遇到了以下问题 无法理解原因 有人可以解释一下吗 var foo 0 console log foo foo true console log foo foo true 第二个比较解释起来很简单 foo等于它本身 然而 第一个有点棘手 f
  • 在 CTRL+MOUSEWHEEL 事件上

    我被要求为我们的页面站点实现 ctrl mousewheel 事件 以便更改用户放大或缩小时的图像偏移 我找到了这个旧答案使用 javascript 覆盖浏览器 CTRL WHEEL SCROLL https stackoverflow c
  • 将带有哈希密码的用户表从旧的 php 应用程序迁移到新的 laravel 应用程序

    我正在开发一个旧的 php 应用程序 用户的密码是用md5 功能 所以密码的存储方式如下 c0c92dd7cc524a1eb55ffeb8311dd73f 我正在使用 Laravel 4 开发一个新应用程序 我需要有关如何迁移的建议user
  • 如何使用PHP7连接到sql服务器? (我错过了什么?)

    这是 phpinfo 输出 版本 php http cellcasehub com version php 这是代码 serverName X X X X connection array UID gt UserID PWD gt Pass
  • UnicodeDecodeError 'utf-8' 编解码器无法解码位置 2893 中的字节 0x92:无效的起始字节

    我正在尝试打开一系列 HTML 文件 以便使用 BeautifulSoup 从这些文件的正文中获取文本 我有大约 435 个文件想要运行 但我不断收到此错误 我尝试将 HTML 文件转换为文本并打开文本文件 但出现相同的错误 path Bi
  • Moq to Rhino - 假部分存储库

    我得到了这个非常酷的 Moq 方法 它伪造了我的 GetService 看起来像这样 private Mock
  • 在 jooq 的 UPDATE 中使用原始值表达式

    这是我试图执行的查询 UPDATE TABLE users SET metadata metadata keyA keyB WHERE
  • 如何在 R 中获取当前种子

    我正在 R 中运行一个带有随机因子的函数 我意识到我忘记运行set seed 在运行这个函数之前 有什么方法可以找回seedR 正在使用的值 我想它将是任意数字 但并不重要 以便我可以重现执行 您可以使用以下命令获取当前的随机状态 Rand
  • 如何将地址转换为纬度/经度?

    我如何将地址或城市转换为纬度 经度 我可以从哪些商业机构 租用 这项服务 这将用于具有全时互联网访问的 Windows PC 上的商业桌面应用程序 谷歌有一个地理编码 API 似乎对于他们拥有谷歌地图数据的大多数位置都运行良好 http g
  • 为什么内部 TABLE 部分必须经过 THEAD TFOOT TBODY 才能验证?

    我经常使用 THEAD TBODY 和 TFOOT 元素将数据表划分为可以使用 CSS 单独寻址的部分 我也明白总是有一个隐式的 TBODY 标签 让我困惑的是这些必须进入验证的顺序 该表将验证
  • Hadoop 映射器从 2 个不同的源输入文件读取

    我有一个链接很多映射器和缩减器的工具 在某些时候我需要合并之前映射缩减步骤的结果 例如作为输入 我有两个包含数据的文件 input a txt apple 10 orange 20 input b txt apple 5 orange 40
  • 如何使用javas Process.waitFor()?

    我正在尝试从 Java 运行命令行命令 快速的健全性检查让我意识到我遇到麻烦的原因是我无法获取pr waitFor 请拨打以下电话进行工作 该程序在不到 30 秒内结束 并且在 foo 之后不打印任何内容 我预计它会花费 30 多秒并在 f
  • 如何从模块导入类而不导入整个模块

    我有一个非常大的 python 模块 超过 1 GB 我使用以下命令在另一个 python 脚本中从该模块导入一个类from module import class 问题是 当我第一次启动 python 脚本时 内存消耗非常高 并且脚本执行
  • 具有多个手柄的 JQuery UI 滑块:如何阻止手柄交叉?

    我正在开发一个快速解决方案 它使用具有多个手柄的滑块来定义动态布局的宽度 我尝试使用 ExtJS3 和最新的 JQuery UI 在 ExtJS 中 您可以限制句柄 这样它们就不会相互交叉 这是一种实现我需要的 UI 的非常直观的方法 但是
  • 初始化集合时,哈希集对内存有何作用?

    我偶然发现了以下问题 我想要一个包含从 1 到 100 000 000 的所有数字的哈希集 我尝试了以下代码 var mySet new HashSet
  • ServiceStack OrmLite 命令超时

    使用 IDbConnection ExecuteSql 时如何设置命令超时 IDbConnection db ConnectionFactory OpenDbConnection db ExecuteSql 如果我使用 IDbCommand
  • 在撰写中禁用横向模式

    如何禁用可组合函数的横向模式 我想始终以纵向模式显示可组合项 PS 无法在活动的清单文件中设置它 因为我只希望此行为适用于一个可组合项 而不适用于活动中的其他可组合项 你可以这样做DisposableEffect 活动requestedOr