Intent.createChooser()显示样式?

时间:2013-07-08 01:09:28

标签: android android-intent

根据发送内容的Google training docIntent.createChooser()的结果是一个列表:

[无法发布图片,因为我是新手。见上面的网址。]

然而,当我实现它时,我得到更多的网格视图,如this post

选择器是否显示特定于Android版本的风格?我注意到我的4.2.2设备上运行的Dropbox显示了列表样式的显示。也许他们实现了一个自定义选择器,还是我没有意识到Intent.putExtra()选项?

2 个答案:

答案 0 :(得分:5)

意图选择器属于系统!它将根据您设备的主题显示。你不能改变它,除非你修改系统UI.About Dropbox他们可能已经创建了实际上不属于系统的选择器。他们可能会将主题视为选择器的主题,并向自定义选择器发送意图。

答案 1 :(得分:0)

Intent Chooser UI已在各种Android版本中发生变化。

具体来说,在Jelly Bean(4.1)之前,它被实现为黑名单。在Jelly Bean中,它变成了一个光网格。

查看Android Police's article on Jelly Bean UI changes的屏幕截图: Old style of Chooser New style of Chooser

另请注意,Commonsware撰写了有关此更改的文章,并建议开发人员在其博客文章The Linkify Problem: The Detection and the Mitigation中更改自己的自定义选择器,并注意到它可能与专利相关:

  例如,Android 4.1(Jelly Bean)稍微更改了选择器,为选择器显示一行或一组网格图标,而不是经典的垂直方向菜单列表。无论这一变化是否基于该专利引入,我们都可能永远不会知道。

另外,我认为Dropbox可能为他们的选择器创建了自己的UI。