You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jetpack Compose中使用accessibilitydatasensitive并设置其标记为Yes

Jetpack Compose 中 AccessibilityDataSensitive 使用说明

1. 如何在Jetpack Compose中使用AccessibilityDataSensitive

AccessibilityDataSensitive是用于标记组件是否包含敏感数据(如密码、支付信息)的无障碍属性,辅助工具(如屏幕阅读器)会根据该标记调整行为,避免泄露敏感内容。

在Jetpack Compose中,你需要通过Modifier.semantics或其扩展函数来配置该属性,核心是操作SemanticsProperties.AccessibilityDataSensitive这个语义属性。

示例场景:给密码输入框标记敏感数据:

import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material3.TextField
import androidx.compose.material3.Text
import androidx.compose.ui.Modifier
import androidx.compose.ui.semantics.accessibilityDataSensitive
import androidx.compose.ui.semantics.SemanticsProperties
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.input.PasswordVisualTransformation

// 方式1:使用扩展修饰符(更简洁)
TextField(
    value = password,
    onValueChange = { password = it },
    label = { Text("密码") },
    visualTransformation = PasswordVisualTransformation(),
    keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Password),
    modifier = Modifier.accessibilityDataSensitive(AccessibilityDataSensitive.Yes)
)

// 方式2:直接在semantics块中配置
TextField(
    value = password,
    onValueChange = { password = it },
    label = { Text("密码") },
    visualTransformation = PasswordVisualTransformation(),
    keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Password),
    modifier = Modifier.semantics {
        this[SemanticsProperties.AccessibilityDataSensitive] = AccessibilityDataSensitive.Yes
    }
)

2. 如何将AccessibilityDataSensitive标记设置为Yes

要将标记设置为Yes,只需在组件的Modifier中指定对应的枚举值即可:

  • 使用扩展修饰符:Modifier.accessibilityDataSensitive(AccessibilityDataSensitive.Yes)
  • 或在semantics块内直接赋值:this[SemanticsProperties.AccessibilityDataSensitive] = AccessibilityDataSensitive.Yes

另外,AccessibilityDataSensitive还有另外两个枚举值:

  • No:明确标记组件不包含敏感数据
  • Auto:默认值,由系统自动判断是否为敏感内容

内容的提问来源于stack exchange,提问作者M.Khouli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 09:42:09