Flutter智能文本输入栏插件smart_textbar的使用
Flutter智能文本输入栏插件smart_textbar的使用
TextFields
是任何应用程序或网站中非常基础且重要的组成部分。虽然它可能不是UI中最闪亮的部分,但如果这些文本字段加载了必要的功能,可以显著提升用户体验。
smart_textbar
smart_textbar
是一个 Flutter 插件,它提供了一个终极的 Flutter 文本输入框,极大地减少了实现各种功能的需求。这些功能虽然相对复杂,但在现代应用和网站中已成为标准配置。
安装
在 pubspec.yaml
文件中添加以下依赖:
dependencies:
smart_textbar: <latest_version>
使用
下面是一个使用示例。详细的文档可以在 API 参考中找到:
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:smart_textbar/smart_textbar.dart';
import 'package:smart_textbar/textbar.dart';
import 'package:autotrie/autotrie.dart';
import 'package:permission_handler/permission_handler.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatefulWidget {
[@override](/user/override)
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Ex(),
);
}
}
class texttbar_example extends StatefulWidget {
[@override](/user/override)
_texttbar_exampleState createState() => _texttbar_exampleState();
}
class _texttbar_exampleState extends State<texttbar_example> {
[@override](/user/override)
void initState() {
super.initState();
}
void permission() async {
var status = await Permission.microphone.status;
if (status.isDenied) {
await Permission.microphone.request();
}
}
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
body: Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: Center(
child: MyApp(),
),
),
);
}
}
class Ex extends StatefulWidget {
[@override](/user/override)
_ExState createState() => _ExState();
}
class _ExState extends State<Ex> {
String lang = 'hi-IN';
[@override](/user/override)
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('smart_textbar'),),
body: Container(
height: MediaQuery.of(context).size.height,
width: MediaQuery.of(context).size.width,
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
TextBar(
blindMode: true,
voiceToTextMode: true,
text_color: Colors.black,
speaker_highlight_color: Colors.red,
speaker_language: lang,
),
SizedBox(height: 100,),
Center(child: Text('speaker language: $lang', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20,),)),
],
),
),
);
}
}
更多关于Flutter智能文本输入栏插件smart_textbar的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复