chat_composer

pub package

A Flutter package for easy implementation of chat composer allows users to chat with Text, Audio, and Other Media.

Gif

Setup

Android

Permissions

    ...
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    ...
   <application

AndroidX

  1. Add the following to your "gradle.properties" file:
android.useAndroidX=true
android.enableJetifier=true
  1. Make sure you set the compileSdkVersion in your "android/app/build.gradle" file to 33 or higher:
android {
  compileSdkVersion 33
  ...
}
  1. Make sure you set the minSdkVersion in your "android/app/build.gradle" file to 18 or higher:
defaultConfig {
  minSdkVersion 18
  ...
}
  1. Make sure you replace all the android. dependencies to their AndroidX counterparts (a full list can be found here: https://developer.android.com/jetpack/androidx/migrate ).

IOS

I'm working on the iOS version until then you can support me by buying me a cup of coffee 🙂

Add dependency

dependencies:
  chat_composer: ^1.0.2 #latest version

Import

import 'package:chat_composer/chat_composer.dart';

Easy to use

ChatComposer(
    onReceiveText: (str) {
    print('TEXT : ' + str!);
    },
    onRecordEnd: (path) {
    print('AUDIO PATH : ' + path!);
    },
)

Attributes

leading: A widget to display before the TextField.
actions: A list of Widgets to display in a row after the TextField widget.
onReceiveText: A callback when submit Text Message.
onRecordStart: A callback when start recording.
onRecordEnd: A callback when end recording, return the recorder audio path.
onRecordCancel: A callback when cancel recording.
onPanCancel: A callback when the user does not lock the recording or does not hold.
maxRecordLength: Audio max duration should record then return recorder audio path.

Buy Me A Coffee

Libraries

chat_composer
consts
message_field
recordaudio_cubit
send_button
utils