chat_composer
A Flutter package for easy implementation of chat composer allows users to chat with Text, Audio, and Other Media.
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
- Add the following to your "gradle.properties" file:
android.useAndroidX=true
android.enableJetifier=true
- Make sure you set the
compileSdkVersion
in your "android/app/build.gradle" file to 33 or higher:
android {
compileSdkVersion 33
...
}
- Make sure you set the
minSdkVersion
in your "android/app/build.gradle" file to 18 or higher:
defaultConfig {
minSdkVersion 18
...
}
- 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.