Set avatar for users
User avatars are generally stored in the server. Video Conference Kit (ZegoUIKitPrebuiltVideoConference) does not know the real profile picture of each user, so it uses the first letter of the username to draw the user avatars by default, as shown below:
When a user in silence | When a user speaks |
---|---|
![]() | ![]() |
To configure the custom user avatars, you can use the avatarViewProvider
in ZegoUIKitPrebuiltVideoConferenceConfig
to set a custom view.
Here is the reference code:
Untitled
public class ConferenceActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_conference);
addFragment();
}
public void addFragment() {
long appID = yourAppID;
String appSign = yourAppSign;
String conferenceID = conferenceID;
String userID = userID;
String userName = userName;
ZegoUIKitPrebuiltVideoConferenceConfig config = new ZegoUIKitPrebuiltVideoConferenceConfig();
config.avatarViewProvider = new ZegoAvatarViewProvider() {
@Override
public View onUserIDUpdated(ViewGroup parent, ZegoUIKitUser uiKitUser) {
ImageView imageView = new ImageView(parent.getContext());
String avatarUrl;
if (uiKitUser.userID.equals()) {
avatarUrl = ;
} else {
avatarUrl = ;
}
if (!TextUtils.isEmpty(avatarUrl)) {
RequestOptions requestOptions = new RequestOptions().circleCrop();
Glide.with(parent.getContext()).load(avatarUrl).apply(requestOptions).into(imageView);
}
return imageView;
}
};
ZegoUIKitPrebuiltVideoConferenceFragment fragment = ZegoUIKitPrebuiltVideoConferenceFragment.newInstance(appID, appSign, userID, userName,conferenceID,config);
getSupportFragmentManager().beginTransaction()
.replace(R.id.fragment_container, fragment)
.commitNow();
}
}
1
When complete, the Video Conference Kit (ZegoUIKitPrebuiltVideoConference) displays the custom user avatar that you set.