# 定制联系人选择器 在创建群、邀请群成员、消息转发等场景经常需要使用到联系人选择器,联系人选择器中的默认的联系人是你的好友。启动联系人选择器时可以传入可选参数 `ContactSelectActivity.Option` 来做联系人过滤、默认选中、多选等操作。例如: ```java ContactSelectActivity.Option option = new ContactSelectActivity.Option(); // 设置联系人选择器标题 option.title = "邀请群成员"; // 设置可见但不可操作的联系人 ArrayList disableAccounts = new ArrayList<>(); disableAccounts.addAll(memberAccounts); option.itemDisableFilter = new ContactIdFilter(disableAccounts); // 限制最大可选人数及超限提示 int capacity = teamCapacity - memberAccounts.size(); option.maxSelectNum = capacity; option.maxSelectedTip = getString(R.string.reach_team_member_capacity, teamCapacity); // 打开联系人选择器 NimUIKit.startContactSelector(NormalTeamInfoActivity.this, option, REQUEST_CODE_CONTACT_SELECT); ``` 可以通过 `ContactSelectActivity.Option` 来定制,目前支持: |参数|说明| |:---|:---| |type|联系人选择器中数据源类型:好友(默认)、群、群成员(需要设置teamId)。参考 ContactSelectType| |teamId|联系人选择器数据源类型为群成员时,需要设置群号| |title|联系人选择器标题| |multi|联系人单选/多选(默认)| |minSelectNum|至少选择人数| |minSelectedTip|低于最少选择人数的提示| |maxSelectNum|最大可选人数| |maxSelectedTip|超过最大可选人数的提示| |showContactSelectArea|是否显示已选头像区域| |alreadySelectedAccounts|默认勾选(且可操作)的联系人项| |itemFilter|需要过滤(不显示)的联系人项| |itemDisableFilter|需要disable(可见但不可操作)的联系人项| |searchVisible|是否支持搜索| |allowSelectEmpty|允许不选任何人点击确定| |maxSelectNumVisible|是否显示最大数目,结合maxSelectNum,与搜索位置相同|