Hello everyone, Custom ChatView allows you to create chat view interface in your apps within two users or a group with a lot of features and customizations. This extension works with recycler view so you can create unlimited chat without any lag and taking time. This extension currently supports only text messages. You can send emojis too as text and with HTML format.
This block initialize the chat view layout in given container. It must be initialized before adding any messages.
Add Message
This block add a message to chat view. If you don’t want to show the title then give empty string to it. Status is defined by three properties (Sending, Sent, Seen).
Update Message
This block update the message by its position.
Update Status
This block update the status of the message as already mentioned. Status thing only work for outgoing or messages that are sent by the sender. It won’t affect anything when you uses this block on incoming messages.
Enable HTML
This block enables the html format for message text for a given position.
Delete Message
Delete a message for given position.
Clear All Messages
Clears all the message from the chat view.
Get Message
Return all the details of a message (e.g time, message, isSender etc) in YailDicitionary format.
Scroll Helpers
These blocks scrolls the chat view at given position.
Properties
Set the background color of the whole chat view.
Set the corner radii of the messages. The bubble shapes is adjusted while binding the messages.
Set the properties of the split date that will be shown above messages. Same date won’t show again. Use MMM for month name (14 May 2022) and MM for month index (14 05 2022)
Set the properties of the message text for both outgoing and incoming messages.
Set the custom status image from assets. If they are not selected then extension will show it’s default images.
Set the properties of the incoming messages.
Set the properties of the outgoing messages.
If you don’t want to show the status of the outgoing message then uncheck this property.
Set the properties of time string of both type of messages.
Set the properties of title of the both types of messages.
All properties could be set with blocks too. There are some properties that must be set before the initialization such as showStatus otherwise they would not work.
How to Use
First of all, You will have to initialize the chat view in a container
After initialization, you can add the messages this way
All updated versions of this extension will be posted here.
v1.1.0
v1.2.0
This extension will be paid for now v1.2.0. Major Feature brought in v2
Full inbuilt audio support (No need to play music externally, auto play music with much customizations).
Support video icons on image message that allows you add video messages(Note: They are not actually video messages but just an additional video icon on image message, video message cilcked event will be raised for playing the video in any custom way externally).
Now let see the new blocks that has been added in this update.
New blocks to get clicks on new types of messages.
AudioMessageProgressChanged
This block is very important for audio messages. As I have said already, you would need to play the audio own on AudioMessageClicked event or whenever you want. It will help you to provide more addons and customizations to your audios as you can use any better audio player extension to play at different speeds and pitches. This event raises when users changes the position of the slider on audio messages. When the user changes the progress then you would have to play the audio at new changed positions of slider. You can update the progress of audio message whenever you want.
Add Image Message
This block add a new image message to chat view. Give the file path of the image and rest of things are same as text messages.
Add Audio Message
Add a new audio message to the chat view. Give the file path of the audio file and rest of params are same as text messages.
Add File Message
Add a new file message to the chat view. Provide the file path, mime type and total size of the file and the file name that you want to display in message.
Update Audio Message Progress
This block update the progress of the audio messages. Give the position of that audio messages and other properties.
durationPlayed = the duration the audio is played at for ex, if the audio played for 5 sec then this value could be 00:05. However, it’s depend on you can give any value to it. durationTotal = the total duration of the audio file for ex, if the audio file’s duration is 30 sec then this value could be 00:30. You can give any value here too. progress = progress of the slider that decides at where the audio file will be played. For ex, if a file’s duration is 30 sec then you could give 30 value to max parameter and progress will be duration at which the audio file is currently playing.
Update the message at given positions. Same as Add Message.
Some new properties has been added to change the color and font size of file and audio messages. I am not posting them here as they are simple to understand and use, I hope you could use them if you have any issue then you can post here.
What’s Changed
DeleteMessage is renamed to Remove Message.
Extension
Sponsor amount is still unpaid. I would release the extension as soon the mentioned amount sponsored.
Credit
Material Icons
Here are the icons that are used in extension. They are used as default icon. You can use your own icons.
Background maybe a gradient drawable issue. But I still confused at your issue. Can you please explain more for ex, more screenshot and multiple messages and maybe logs can help me to find out the issue so please provide the logs too if you don’t know then please PM me so I can explain. I could find my own but I don’t have android 6.
Thanks
Hey @HAKANKOKCU , I reproduced the issue own by testing the APK in android 6 emulator.
It was a date format error that was incompatible in android 6. I have solved it now here you can see it is working as it should.
Thanks @Choofa for your donation. After your donation, 25$ has been collected out of 40$. Only 15$ has left and I will release the extension publicly. It’s really shame that you just donated half of the total amount but still 15$ are left. It seems that users just want it free and no one is interested to pay.
Extension is still not released. Don’t expect all things before release. A update has already made and I think it contains enough features for a professional chat view. I don’t have any update plans for this currently will think about it later. I have other extensions too.
This sponsored amount for the extension is collected fully by koders and as I said I’ll release the extension once the amount is collected. I have posted the extension download link on the first post. You can test it now, a demo AIA and APK is posted too. If you are lazy or weak at coding then you could use that AIA. I have made some changes in the extension from last version that I would like to mention.
New Blocks
There are some new blocks has added. Here are their docs.
These events raises when user scrolled to the top or bottom. This will help you to load more messages from your server. Thanks @ammar5287 for suggesting these blocks.
These blocks set all the properties of audio and document messages. You can leave these blocks if you want default properties on these messages. There are already a lot properties blocks and it really seems a mess in code that’s why I added a function block to specify all the properties with one blocks at same time.
Here are the default values of these blocks :-