Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Simple library for adding chat functionality on your android app.

License

Notifications You must be signed in to change notification settings

fasilthottathil/SimpleChatView

Repository files navigation

SimpleChatView

This is an Android library which can be used to add chat functionality to your android application with just a few lines of code.

Version

Installation

Add this to your root build.gradle at the end of repositories:

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

Then add dependency

dependencies {
	implementation 'com.github.fasilthottathil:SimpleChatView:1.0.0'
}

Implementation

Drop the ChatView in your XML layout as is shown below:

 <com.fasilthottathil.simplechatview.widget.SimpleChatView
 android:id="@+id/simpleChatView"
 android:layout_width="match_parent"
 android:layout_height="match_parent" />

don't forget to add this attribute to your root layout.

xmlns:app="http://schemas.android.com/apk/res-auto"

And then in your Activity or Fragment

val simpleChatView = findViewById<SimpleChatView>(R.id.simpleChatView)

Sample code

 val simpleChatView = findViewById<SimpleChatView>(R.id.simpleChatView)
 //sending text message
 simpleChatView.addMessage(
 ChatMessage(
 UUID.randomUUID().toString(),//message id
 "Hello world",//message
 "John Doe",//username
 "http://www.maxspring.ch/images/cartoons/4.jpg",//profile url
 true,//for setting left or right position of the chat
 System.currentTimeMillis(),//timestamp
 SimpleChatView.TYPE_TEXT//message type
 )
 )
 //sending image message
 simpleChatView.addMessage(
 ChatMessage(
 UUID.randomUUID().toString(),//message id
 "http://www.maxspring.ch/images/cartoons/c71.png",//image url
 "John Doe",//username
 "http://www.maxspring.ch/images/cartoons/4.jpg",//profile url
 true,//for setting left or right position of the chat
 System.currentTimeMillis(),//timestamp
 SimpleChatView.TYPE_IMAGE//message type
 )
 )
 //sending video message
 simpleChatView.addMessage(
 ChatMessage(
 UUID.randomUUID().toString(),//message id
 "http://www.maxspring.ch/images/cartoons/Kultursponsoring.jpg",//video url
 "John Doe",//username
 "http://www.maxspring.ch/images/cartoons/4.jpg",//profile url
 true,//for setting left or right position of the chat
 System.currentTimeMillis(),//timestamp
 SimpleChatView.TYPE_VIDEO//message type
 )
 )
 //adding list of messages
 simpleChatView.addMessage(chatMessageList)
 //removing message
 simpleChatView.remove(position)
 simpleChatView.remove(ChatMessage())
 simpleChatView.clearMessages()//clears all the added messages
 simpleChatView.setOnMessageSendListener { message ->
 //user clicked on send message button
 }
 simpleChatView.setOnMessageClickListener { chatMessage ->
 //user clicked on the Text Message
 }
 simpleChatView.setOnChatImageClickListener { chatMessage ->
 //user clicked on the image message
 }
 simpleChatView.setOnChatVideoClickListener { chatMessage ->
 //user clicked on the video message
 }
 simpleChatView.setOnChatUserImageClickListener { chatMessage ->
 //user clicked on the profile pic
 }
 simpleChatView.setOnChatUsernameClickListener { chatMessage ->
 //user clicked on the username
 }
 simpleChatView.setOnSelectImageClickListener {
 //user clicked on the image selection button
 }
 simpleChatView.setOnSelectVideoClickListener {
 //user clicked on the video selection button
 }
 simpleChatView.setOnSelectCameraClickListener {
 //user clicked on the camera button
 }

Customization

customize using xml code

 <com.fasilthottathil.simplechatview.widget.SimpleChatView
 android:id="@+id/simpleChatView"
 app:hint="Type message"
 app:hintTextColor="@android:color/darker_gray"
 app:chatInputBackgroundColor="@color/white"
 app:chatInputBackground="@drawable/chat_input_shape"
 app:chatViewBackgroundColor="@color/white"
 app:showAddButton="true or false"
 app:showCameraButton="true or false"
 app:showImageButton="true or false"
 app:showVideoButton="true or false"
 app:showSenderLayout="true or false"
 app:addButtonColor="@color/teal_200"
 app:sendButtonColor="@color/purple_700"
 app:textColor="@color/black"
 android:layout_width="match_parent"
 android:layout_height="match_parent" />

customize using kotlin code

 	simpleChatView.setChatViewBackground(Color.WHITE)
 simpleChatView.setSendButtonColor(Color.BLUE)
 simpleChatView.setAddButtonColor(Color.RED)
 simpleChatView.setChatInputBackgroundColor(Color.LTGRAY)
 simpleChatView.setChatInputBackground(R.drawable.chat_input_shape)
 simpleChatView.setShowAddButton(true or false)
 simpleChatView.setShowSenderLayout(true or false)
 simpleChatView.setShowImageButton(true or false)
 simpleChatView.setShowVideoButton(true or false)
 simpleChatView.setShowCameraButton(true or false)
 simpleChatView.setHint("Type message...")
 simpleChatView.setHintTextColor(Color.parseColor("#929292"))
 simpleChatView.setTextColor(Color.BLACK)

AltStyle によって変換されたページ (->オリジナル) /