1

我正在尝试 Android Slices,发现无法仅使用 setTitleItem 构建 Slice Row。我想像随附的屏幕截图一样创建切片。但似乎该setTitleItem方法不起作用。

使用的神器 implementation 'androidx.slice:slice-builders-ktx:1.0.0-alpha4

return list(context, sliceUri, ListBuilder.INFINITY) {
            row {
                setTitleItem(createActivityAction(Intent(context, MainActivity::class.java), R.drawable.ic_pizza_slice_24, SliceHints.ICON_IMAGE))
                title = "Welcome Android Slice"
                subtitle = "It has Start Item"
            }
        }

我已经打开了一个 Google 问题,但它没有帮助。

如果有人知道我在这里做错了什么,请告诉我。

代码在这里:

Github 代码

在此处输入图像描述

4

2 回答 2

0

目前,Slice 的第一行不能有起始项。由于 Slices 仍在开发中,这可能会在未来发生变化。使用setTitleItem()在以下行中设置开始项应该可以工作:

return list(context, sliceUri, ListBuilder.INFINITY) {
    row {
        title = "Welcome Android Slice"
        subtitle = "Header row"
    }
    row {
        setTitleItem(createActivityAction(Intent(context, MainActivity::class.java), R.drawable.ic_pizza_slice_24, SliceHints.ICON_IMAGE))
        title = "2nd row"
        subtitle = "It has Start Item"
    }
}
于 2018-09-11T22:46:47.727 回答
0

没有表头时,第一行自动成为表头。由于表头没有 的选项setTitleItem(),所以图标不会显示在左下角。

在您的情况下,图标显示在右上角的原因是由于标题的主要操作显示在右侧

看看他们提到 的这个文档的附录你可以有一个标题,但如果你没有,第一项会自动成为标题

也看看这个谷歌问题跟踪器

将来,可能有可能setTitleItem()在 android slice 的 header 中支持。

于 2019-07-21T11:39:59.663 回答