Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bassaer/ChatMessageView
Chat UI library for Android :zap:
https://github.com/bassaer/ChatMessageView
Last synced: 12 days ago
JSON representation
Chat UI library for Android :zap:
- Host: GitHub
- URL: https://github.com/bassaer/ChatMessageView
- Owner: bassaer
- License: apache-2.0
- Created: 2016-08-08T00:42:32.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2019-07-26T19:11:34.000Z (over 5 years ago)
- Last Synced: 2024-08-01T01:30:50.724Z (3 months ago)
- Language: Kotlin
- Homepage:
- Size: 6.86 MB
- Stars: 584
- Watchers: 29
- Forks: 147
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-kotlin - ChatMessageView - Chat UI library for Android :zap: (Libraries)
- awesome-github-android-ui - ChatMessageView - Android聊天UI视图 (聊天视图)
- awesome-kotlin - ChatMessageView - Chat UI library for Android. (Libraries / Android)
README
# ChatMessageView
[![Build Status](https://travis-ci.org/bassaer/ChatMessageView.svg?branch=master)](https://travis-ci.org/bassaer/ChatMessageView)
[![Android Arsenal](https://img.shields.io/badge/Android%20Arsenal-ChatMessageView-brightgreen.svg?style=flat)](https://android-arsenal.com/details/1/5032)
[![Download](https://api.bintray.com/packages/tnakayama/ChatMessageView/chatmessageview/images/download.svg) ](https://bintray.com/tnakayama/ChatMessageView/chatmessageview/_latestVersion)
[![API](https://img.shields.io/badge/API-15%2B-blue.svg?style=flat)](https://android-arsenal.com/api?level=15)
[![Apache-2.0](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](https://github.com/bassaer/ChatMessageView/blob/master/LICENSE)This library aims to provide a chat UI view for Android.
## Feature
- You need to write just few code to create chat view.
- Auto date setting
- Easy to use for bot app## Gradle
[ ![Download](https://api.bintray.com/packages/tnakayama/ChatMessageView/chatmessageview/images/download.svg) ](https://bintray.com/tnakayama/ChatMessageView/chatmessageview/_latestVersion)```gradle
dependencies {
implementation 'com.github.bassaer:chatmessageview:2.1.0'
}
```## Usage
[How to use this library](https://github.com/bassaer/ChatMessageView/wiki)
Only MessageView
```xml
```
ChatView has MessageView and text box.
```xml
```
Sample code
```java
public class MessengerActivity extends Activity {private ChatView mChatView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_messenger);//User id
int myId = 0;
//User icon
Bitmap myIcon = BitmapFactory.decodeResource(getResources(), R.drawable.face_2);
//User name
String myName = "Michael";int yourId = 1;
Bitmap yourIcon = BitmapFactory.decodeResource(getResources(), R.drawable.face_1);
String yourName = "Emily";final User me = new User(myId, myName, myIcon);
final User you = new User(yourId, yourName, yourIcon);mChatView = (ChatView)findViewById(R.id.chat_view);
//Set UI parameters if you need
mChatView.setRightBubbleColor(ContextCompat.getColor(this, R.color.green500));
mChatView.setLeftBubbleColor(Color.WHITE);
mChatView.setBackgroundColor(ContextCompat.getColor(this, R.color.blueGray500));
mChatView.setSendButtonColor(ContextCompat.getColor(this, R.color.cyan500));
mChatView.setSendIcon(R.drawable.ic_action_send);
mChatView.setRightMessageTextColor(Color.WHITE);
mChatView.setLeftMessageTextColor(Color.BLACK);
mChatView.setUsernameTextColor(Color.WHITE);
mChatView.setSendTimeTextColor(Color.WHITE);
mChatView.setDateSeparatorColor(Color.WHITE);
mChatView.setInputTextHint("new message...");
mChatView.setMessageMarginTop(5);
mChatView.setMessageMarginBottom(5);//Click Send Button
mChatView.setOnClickSendButtonListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//new message
Message message = new Message.Builder()
.setUser(me)
.setRight(true)
.setText(mChatView.getInputText())
.hideIcon(true)
.build();
//Set to chat view
mChatView.send(message);
//Reset edit text
mChatView.setInputText("");//Receive message
final Message receivedMessage = new Message.Builder()
.setUser(you)
.setRight(false)
.setText(ChatBot.talk(me.getName(), message.getText()))
.build();// This is a demo bot
// Return within 3 seconds
int sendDelay = (new Random().nextInt(4) + 1) * 1000;
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mChatView.receive(receivedMessage);
}
}, sendDelay);
}});
}
}```
## License
[Apache-2.0](https://github.com/bassaer/ChatMessageView/blob/master/LICENSE)