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

Wear OS Tiles能否使用Drawable?替换URL后显示空白问题求助

Wear OS Tiles本地Drawable显示空白圆形的问题解决

问题原因

你把R.drawable.ic_search_24转成字符串传给setImageContent()的做法是错误的。Wear Tiles的Button.Builder.setImageContent()方法不接受字符串形式的资源ID,它需要的是用ImageContent包装后的合法图像内容对象。直接传字符串会让系统无法解析资源,所以只显示空白圆形。

正确代码写法

改用ImageContent.Builder.resource()来构建本地Drawable对应的图像内容,替换错误代码:

private fun contactLayout(
    context: Context,
    contact: Contact,
    clickable: ModifiersBuilders.Clickable,
) = Button.Builder(context, clickable)
    .setContentDescription(contact.name)
    .apply {
        if (contact.avatarUrl != null) {
            // 加载本地Drawable资源作为按钮图片
            setImageContent(
                ImageContent.Builder.resource(R.drawable.ic_search_24)
                    .build()
            )
        } else {
            setTextContent(contact.initials)
            setButtonColors(ButtonColors.secondaryButtonColors(MessagingTileTheme.colors))
        }
    }
    .build()

注意点

  • 加载网络图片时才需要用ImageContent.Builder.url();
  • 本地资源要直接传整数类型的资源ID(也就是R.drawable.ic_search_24本身,别转成字符串),这样系统才能正确识别并加载对应的Drawable。

内容的提问来源于stack exchange,提问作者Paolo Lotti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:25:35