当前位置: 首页 > news >正文

专业制作网站公司哪家好软件开发项目总结

专业制作网站公司哪家好,软件开发项目总结,工程找队伍信息网,山西路桥建设集团网站Android Talkback 自定义合并 TalkBack 等无障碍服务按元素在屏幕中导航。默认情况下,Jetpack Compose 中至少设置了一个语义属性的每个低级可组合项会获得焦点。例如,Text 可组合项设置了 text 语义属性,因此会获得焦点。 不过&#xff0c…

Android Talkback 自定义合并

TalkBack 等无障碍服务按元素在屏幕中导航。默认情况下,Jetpack Compose 中至少设置了一个语义属性的每个低级可组合项会获得焦点。例如,Text 可组合项设置了 text 语义属性,因此会获得焦点。

不过,如果屏幕上有太多可聚焦的元素,当用户逐个浏览这些元素时,会导致混乱。我们可以使用 semantics 修饰符及其 mergeDescendants 属性将可组合项合并在一起。

让我们看一下文章屏幕。大多数元素都获得了正确级别的焦点。但是,文章的元数据目前是作为几个单独的项目朗读的。可以通过将其合并为一个可聚焦实体来加以改进:
在这里插入图片描述

之前

@Composable
private fun PostMetadata(metadata: Metadata) {// ...Row {Image(// ...)Spacer(Modifier.width(8.dp))Column {Text(// ...)CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant) {Text(// ..)}}}
}

之后

@Composable
private fun PostMetadata(metadata: Metadata) {// ...Row(Modifier.semantics(mergeDescendants = true) {}) {Image(// ...)Spacer(Modifier.width(8.dp))Column {Text(// ...)CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant) {Text(// ..)}}}
}

来源

当 TalkBack 选定 Switch 和 Checkbox 等可切换元素时,会大声读出其选中状态。不过,如果没有上下文,就很难理解这些可切换元素指的是什么。我们可以通过提升可切换状态来包含可切换元素的上下文,这样用户就可以通过按可组合项本身或描述它的标签来切换 Switch 或 Checkbox。

我们可以在“Interests”屏幕中看到一个这样的例子。您可以从主屏幕中打开抽屉式导航栏来导航到该屏幕。在“Interests”屏幕上,有用户可以订阅的主题列表。默认情况下,此屏幕上的复选框与其标签是分开聚焦的,这使得很难理解其上下文。我们希望整个 Row 可切换:

在这里插入图片描述

使用复选框。之前(左侧)与之后(右侧)的比较。
之前

@Composable
private fun TopicItem(itemTitle: String, selected: Boolean, onToggle: () -> Unit) {// ...Row(modifier = Modifier.padding(horizontal = 16.dp, vertical = 8.dp)) {// ...Checkbox(checked = selected,onCheckedChange = { onToggle() },modifier = Modifier.align(Alignment.CenterVertically))}
}
@Composable
private fun TopicItem(itemTitle: String, selected: Boolean, onToggle: () -> Unit) {// ...val stateNotSubscribed = stringResource(R.string.state_not_subscribed)val stateSubscribed = stringResource(R.string.state_subscribed)Row(modifier = Modifier.semantics {stateDescription = if (selected) {stateSubscribed} else {stateNotSubscribed}}.toggleable(value = selected,onValueChange = { _ -> onToggle() },role = Role.Checkbox).padding(horizontal = 16.dp, vertical = 8.dp)) {// ...Checkbox(checked = selected,onCheckedChange = null,modifier = Modifier.align(Alignment.CenterVertically))}
}
http://www.dtcms.com/a/582500.html

相关文章:

  • 切换海外动态IP的方法
  • 设计业务网站外贸自建站类型
  • 网站建设在哪里发布网络优化工程师工资
  • Linux环境下的C语言编程(十七)
  • JAVA算法练习题day64
  • 小华HC32F460串口性能问题与处理思路
  • Java_Hashtable使用及扩容
  • Django序列化器
  • 跳表与B+树
  • 上海外贸网站优化自己做提卡网站
  • 学习日报 20251107|Nacos 注册同一服务多实例架构图
  • 营销型网站建设运营苏州园区
  • 广州站在哪个区酒店 网站构建
  • 网站开发的合同网络工程师中级职称报考条件
  • 相亲网站源码php模版wordpress听歌插件
  • 微网站 服务器在线设计logo图案免费
  • stm32 gpio 先写电平再初始化,是否可行?
  • 数字签名、 数字信封、数字证书
  • 马云的网站是谁建设的wordpress多广告位
  • Leetcode 47
  • 营销型网站分类自己服务器可以做网站
  • EtherCAT命令整理
  • Windows 常用命令行(CMD/PowerShell 通用,标注差异)
  • 小迪安全v2023学习笔记(一百四十五讲)—— Webshell篇魔改冰蝎打乱特征指纹新增加密协议过后门查杀过流量识别
  • 网站源码做exe执行程序域名被墙查询检测
  • HarmonyOS:ArkWeb在新窗口中打开页面
  • 青岛谁做网站多少钱做网站大概需要多少费用
  • jmeter内存踩坑记录
  • 浙江建设职业技术学院网站彬县网
  • PowerShell 和 CMD