如何对齐文本和图标可组合项,以便即使文本溢出后它们也能保持在一起?

2024-05-30

我有一个文本和一个图标可组合项。我希望图标粘在可组合项的右侧。这是我的代码:

Row(
    verticalAlignment = Alignment.CenterVertically,
    horizontalArrangement = Arrangement.Center,
    modifier = Modifier
        .fillMaxWidth()
        .padding(horizontal = 16.dp)
) {
    Text(
        text = subjectName,
        maxLines = 1,
        overflow = TextOverflow.Ellipsis,
        textAlign = TextAlign.Center,
    )
    Icon(
        painter = painterResource(id = R.drawable.ic_arrow_drop_down),
        contentDescription = null
    )
}

The corresponding UI is:

This looks fine but when the text is too long and there is an overflow, the icon gets out of the screen like this:

Instead I want to make it look like this:

我尝试给予Text可组合的weight(1f)修改器,以便将图标放置在第一位。现在,溢出的文本看起来很好,但是当文本较短时,图标仍然放置在末尾,因为文本占据了整个剩余宽度:

我如何在这里获得所需的 UI(图 1 和 3)?


只需应用weight(1f, fill=false)修饰符为Text.

当填充为true,该元素将被迫占据分配给它的整个宽度。否则,允许元素更小 - 这将导致 Row 更小,因为未使用的分配宽度不会重新分配给其他兄弟姐妹。

就像是:

Row(
    verticalAlignment = Alignment.CenterVertically,
    horizontalArrangement = Arrangement.Center,
    modifier = Modifier
        .fillMaxWidth()
        .padding(horizontal = 16.dp)
) {
    Text(
        text = "subjectName",
        modifier = Modifier.weight(1f, false),
        maxLines = 1,
        overflow = TextOverflow.Ellipsis,
    )
    Icon(
        Icons.Filled.Add,
        contentDescription = "contentDescription"
    )
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何对齐文本和图标可组合项,以便即使文本溢出后它们也能保持在一起? 的相关文章

随机推荐

  • 重置 div 内容的 css 样式

    有一个用 css 样式定制的 html 页面 我无法更改此 css 该页面的一个标签被设计为动态 html 数据的容器 我怎样才能 重置 这个div的css设置 页面中定义的css样式对此div的内容没有影响 我只能访问动态 html 并且
  • 核心数据二进制数据允许外部存储崩溃

    我在 iOS 12 0 1 上发生崩溃 日志如下 ImageIO CFDataGetBytes data 0x28539b2f0 size 154262 offset 8 count 8 dst 0x16dbf86f0 External d
  • 如何对参数列表中的每个项目运行 pytest 测试

    假设我有一个 HTTP URL 列表 例如 endpoints e 1 e 2 e n 我想跑n测试 每个端点一个 我怎样才能做到这一点 一次测试所有端点的简单方法是 def test urls for e in endpoints r g
  • Eddystone Beacon 中广播的 MAC ID 会改变吗?

    我将描述我的设置 我制作了一个模拟 Eddystone 信标的 Android 应用程序 我能够使用 PlayStore 中的 Beacon Toy 应用程序检测手机上的 Eddystone 信标 但问题是 自上次检查以来 显示的 MAC
  • CSS 圆角六边形按钮

    我可以使用 CSS 创建相同的按钮 圆角是重要部位 角是主要原因 带圆角的三角形按钮 请看我下面的代码和图片 lngbtn position relative width 150px height 50px margin 50px colo
  • 开放式 WebSocket 连接存在哪些安全问题?

    我正在构建一个使用 websockets 的应用程序 我只允许经过身份验证的用户在登录并被授予会话 ID 后打开与服务器的 Websocket 连接 一旦我与经过身份验证的用户打开了 Websocket 连接 当前 页面 就会保存打开的 W
  • npm WARN 已弃用 [email protected]:改用 uuid 模块

    当我尝试时 npm install g cordova latest总是得到npm 警告已弃用 电子邮件受保护 cdn cgi l email protection 使用 uuid 模块代替 mac 操作系统塞拉利昂 10 12npm v
  • Delphi中AsInteger和Value有什么区别?

    我想知道以下两个与delphi中的数据集相关的语句之间的区别 dsMyDataSet ParamByName ID AsInteger 1122 If ID is integer dsMyDataSet ParamByName ID AsS
  • Python:如何在不知道格式的情况下将字符串转换为日期时间?

    我有一个以字符串形式出现并代表时间的字段 有时是12小时 有时是24小时 可能的值 8 26 08 26am 13 27 是否有一个函数可以通过智能将它们转换为时间格式 选项 1 没有 am 因为它是 24 小时格式 而选项 2 前面有一个
  • WxWidgets自定义事件

    我正在尝试使用自定义事件 in my WxWidgetsC 应用程序 如所描述的here http wiki wxwidgets org Custom Events 22But I don 27t need a whole new even
  • Java如何删除设置了IMMUTABLE位的文件

    正在开发一个 Java 8 项目 我从外部源复制文件 在这些源之一中 文件设置了不可变位标志 In OSX这是这样设置的 sudo chflags schg path to file In Linux chattr i path to fi
  • 使用 Intellij 2017.2 /out 目录构建会重复 /build 目录中的文件

    更新到 Intellij 2017 2 后 构建我的项目会创建一个 out包含生成的源文件和资源文件的目录 这些文件与已包含的文件重复 build并导致duplicate class生成的类的编译器错误 关于 Gradle 或 Intell
  • 如何在同一个

    中设置两种不同的字体大小

    我有一段 HTML 代码 我一直坚持不下去 我怎样才能将这个文本的第一部分的字体大小设置为 20px 以及后面的文本 br 标签字体大小为 15px 或者 如果我做的完全错误 我该如何做而不将它们放在不同的标签中 p Los Santos
  • 调用await后程序退出

    我有一个while loop 应该重复程序直到满足特定条件 在这个循环中我称之为async函数 它为我打印一条消息 这是 简短的 代码 private void InitializeMessageSystem do Do stuff awa
  • ggarrange:合并多个图

    附图来自以下文章 正在使用 ggarrange 合并这些图 http www sthda com english articles 24 ggpubr publication ready plots 81 ggplot2 easy way
  • 向数据集添加行

    我怎样才能创建一个DataSet是手动填写的吗 IE 通过代码或用户输入填写 我想知道如果我需要创建一个所需的步骤DataTable or a DataRow首先 我真的不知道填写步骤DataSet DataSet ds new DataS
  • Angular AOT 和 Rollup - 无法解析“app.module.ngfactory”

    我正在尝试完成 Angular 的 AOT 教程 https angular io docs ts latest cookbook aot compiler html https angular io docs ts latest cook
  • 改进将字符串转换为可读的 url

    以下函数重写包含各种字符的新闻和产品标题的 url 我希望创建的字符串仅包含字母数字值和 但没有结尾 或空格 也没有重复的 下面的函数工作正常 但我想知道是否有任何方法可以将其编写得更简单或更有效 function urlName stri
  • 如何更新 R 中的包?

    我想将一个 R 包升级到已经可用的新版本 我试过 update packages c R2jags 但它什么也没做 控制台上没有输出 没有错误 什么也没有 我使用了相同的语法install packages但也许我做错了什么 我一直在看 u
  • 如何对齐文本和图标可组合项,以便即使文本溢出后它们也能保持在一起?

    我有一个文本和一个图标可组合项 我希望图标粘在可组合项的右侧 这是我的代码 Row verticalAlignment Alignment CenterVertically horizontalArrangement Arrangement