我正在使用 Google Play 游戏服务 API (GamesClient.getSelectPlayersIntent) 提供的股票“选择玩家”对话框。
对话很棒,但它缺少一个非常重要的功能:我无法按名字搜索朋友/对手,因此我必须盯着我圈子里那无穷无尽的人列表。
也许我错过了明显的,但我找不到任何搜索功能。没有菜单项,没有文本输入字段...是否有一些未记录的意图附加参数来启用该功能?还是我必须创建自己的带有搜索功能的对话框?
是否有允许这种搜索的替代对话框?
我正在使用 Google Play 游戏服务 API (GamesClient.getSelectPlayersIntent) 提供的股票“选择玩家”对话框。
对话很棒,但它缺少一个非常重要的功能:我无法按名字搜索朋友/对手,因此我必须盯着我圈子里那无穷无尽的人列表。
也许我错过了明显的,但我找不到任何搜索功能。没有菜单项,没有文本输入字段...是否有一些未记录的意图附加参数来启用该功能?还是我必须创建自己的带有搜索功能的对话框?
是否有允许这种搜索的替代对话框?
如果你看这里GGS 演示页面,你会看到
您可以使用游戏服务提供的内置玩家选择器 UI 或实现自己的自定义 UI。要启动内置的玩家选择器 UI,请使用 GamesClient.getSelectPlayersIntent() 返回的 Intent:
在这里查看 GamesClient 文档Google GamesClient 文档时,您需要使用
public void loadInvitablePlayers (OnPlayersLoadedListener listener, int pageSize, boolean forceReload)
加载当前登录的玩家可以邀请到多人游戏的玩家的初始页面,按名称的字母顺序排序。
结果被传递给主线程上的给定侦听器。如果在结果准备好之前调用了 disconnect(),它将不会被传递。参数 listener 加载完成时调用的监听器。在主线程上调用侦听器。pageSize 请求此初始页面的条目数。请注意,如果缓存数据已经存在,则返回的缓冲区可能包含超过此大小,但如果集合包含足够的记录,则保证至少包含此数量。这必须是一个介于 1 和 25 之间的值。 forceReload 如果为 true,此调用将清除所有本地缓存的数据并尝试从服务器获取最新数据。这通常用于诸如用户启动的刷新之类的事情。通常,这应该设置为 false 以获得数据缓存的优势。
然后决定您希望您的 UI 如何使用侦听器中返回的 PlayerBuffer 对象。