1
This commit is contained in:
parent
0f7a9489a9
commit
db01a24756
@ -9,10 +9,8 @@ import 'package:trans_lark/widget/base_appbar.dart';
|
|||||||
import 'package:wave/config.dart';
|
import 'package:wave/config.dart';
|
||||||
import 'package:wave/wave.dart';
|
import 'package:wave/wave.dart';
|
||||||
|
|
||||||
class FaceToFaceView extends StatelessWidget {
|
class FaceToFaceView extends GetView<FaceToFaceController> {
|
||||||
FaceToFaceView({super.key});
|
const FaceToFaceView({super.key});
|
||||||
|
|
||||||
final controller = Get.find<FaceToFaceController>();
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
@ -21,7 +19,7 @@ class FaceToFaceView extends StatelessWidget {
|
|||||||
extendBody: true,
|
extendBody: true,
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
appBar: BaseAppBar(
|
appBar: BaseAppBar(
|
||||||
backgroundColor: Colors.transparent ,
|
backgroundColor: Colors.transparent,
|
||||||
backColor: Colors.white,
|
backColor: Colors.white,
|
||||||
onBackTap: controller.onBackTap,
|
onBackTap: controller.onBackTap,
|
||||||
actionWidget: Padding(
|
actionWidget: Padding(
|
||||||
@ -66,7 +64,8 @@ class FaceToFaceView extends StatelessWidget {
|
|||||||
Obx(() {
|
Obx(() {
|
||||||
return Visibility(
|
return Visibility(
|
||||||
visible: !controller.selectedUnder.value,
|
visible: !controller.selectedUnder.value,
|
||||||
child: SpeechToTextManager().isListening.value ? RotatedBox(
|
child: SpeechToTextManager().isListening.value
|
||||||
|
? RotatedBox(
|
||||||
quarterTurns: 2,
|
quarterTurns: 2,
|
||||||
child: WaveWidget(
|
child: WaveWidget(
|
||||||
config: CustomConfig(
|
config: CustomConfig(
|
||||||
@ -83,7 +82,8 @@ class FaceToFaceView extends StatelessWidget {
|
|||||||
// wavePhase: 0,
|
// wavePhase: 0,
|
||||||
// waveFrequency: 0,
|
// waveFrequency: 0,
|
||||||
),
|
),
|
||||||
) : Container(
|
)
|
||||||
|
: Container(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
height: double.infinity,
|
height: double.infinity,
|
||||||
color: const Color(0xff45A7FE),
|
color: const Color(0xff45A7FE),
|
||||||
@ -94,15 +94,24 @@ class FaceToFaceView extends StatelessWidget {
|
|||||||
return Container(
|
return Container(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
height: double.infinity,
|
height: double.infinity,
|
||||||
padding: EdgeInsets.fromLTRB(30, SpeechToTextManager().isListening.value
|
padding: EdgeInsets.fromLTRB(
|
||||||
|
30,
|
||||||
|
SpeechToTextManager().isListening.value
|
||||||
? MediaQuery.of(context).padding.top + kToolbarHeight
|
? MediaQuery.of(context).padding.top + kToolbarHeight
|
||||||
: 0, 30, 40),
|
: 0,
|
||||||
|
30,
|
||||||
|
40),
|
||||||
child: AnimatedRotation(
|
child: AnimatedRotation(
|
||||||
turns: controller.angle.value,
|
turns: controller.angle.value,
|
||||||
duration: const Duration(milliseconds: 500),
|
duration: const Duration(milliseconds: 500),
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisAlignment: SpeechToTextManager().isListening.value ? MainAxisAlignment.start : MainAxisAlignment.center,
|
mainAxisAlignment: SpeechToTextManager().isListening.value
|
||||||
crossAxisAlignment: SpeechToTextManager().isListening.value ? CrossAxisAlignment.start : CrossAxisAlignment.center,
|
? MainAxisAlignment.start
|
||||||
|
: MainAxisAlignment.center,
|
||||||
|
crossAxisAlignment:
|
||||||
|
SpeechToTextManager().isListening.value
|
||||||
|
? CrossAxisAlignment.start
|
||||||
|
: CrossAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
if (!controller.selectedUnder.value) ...[
|
if (!controller.selectedUnder.value) ...[
|
||||||
SvgPicture.asset(
|
SvgPicture.asset(
|
||||||
@ -114,7 +123,9 @@ class FaceToFaceView extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
Flexible(
|
Flexible(
|
||||||
child: Visibility(
|
child: Visibility(
|
||||||
visible: SpeechToTextManager().isListening.value && ObjUtil.isNotEmptyStr(controller.aboveText.value),
|
visible: SpeechToTextManager().isListening.value &&
|
||||||
|
ObjUtil.isNotEmptyStr(
|
||||||
|
controller.aboveText.value),
|
||||||
replacement: const Text(
|
replacement: const Text(
|
||||||
'Please start talking',
|
'Please start talking',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
@ -161,7 +172,8 @@ class FaceToFaceView extends StatelessWidget {
|
|||||||
Obx(() {
|
Obx(() {
|
||||||
return Visibility(
|
return Visibility(
|
||||||
visible: controller.selectedUnder.value,
|
visible: controller.selectedUnder.value,
|
||||||
child: SpeechToTextManager().isListening.value ? WaveWidget(
|
child: SpeechToTextManager().isListening.value
|
||||||
|
? WaveWidget(
|
||||||
config: CustomConfig(
|
config: CustomConfig(
|
||||||
colors: [
|
colors: [
|
||||||
const Color(0xff87ECB3).withOpacity(0.2),
|
const Color(0xff87ECB3).withOpacity(0.2),
|
||||||
@ -175,7 +187,8 @@ class FaceToFaceView extends StatelessWidget {
|
|||||||
waveAmplitude: 4,
|
waveAmplitude: 4,
|
||||||
// wavePhase: 0,
|
// wavePhase: 0,
|
||||||
// waveFrequency: 0,
|
// waveFrequency: 0,
|
||||||
) : Container(
|
)
|
||||||
|
: Container(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
height: double.infinity,
|
height: double.infinity,
|
||||||
color: const Color(0xff87ECB3),
|
color: const Color(0xff87ECB3),
|
||||||
@ -186,12 +199,18 @@ class FaceToFaceView extends StatelessWidget {
|
|||||||
return Container(
|
return Container(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
height: double.infinity,
|
height: double.infinity,
|
||||||
padding: EdgeInsets.fromLTRB(30, SpeechToTextManager().isListening.value
|
padding: EdgeInsets.fromLTRB(
|
||||||
? 80
|
30,
|
||||||
: 0, 30, MediaQuery.of(context).padding.bottom),
|
SpeechToTextManager().isListening.value ? 80 : 0,
|
||||||
|
30,
|
||||||
|
MediaQuery.of(context).padding.bottom),
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisAlignment: SpeechToTextManager().isListening.value ? MainAxisAlignment.start : MainAxisAlignment.center,
|
mainAxisAlignment: SpeechToTextManager().isListening.value
|
||||||
crossAxisAlignment: SpeechToTextManager().isListening.value ? CrossAxisAlignment.start : CrossAxisAlignment.center,
|
? MainAxisAlignment.start
|
||||||
|
: MainAxisAlignment.center,
|
||||||
|
crossAxisAlignment: SpeechToTextManager().isListening.value
|
||||||
|
? CrossAxisAlignment.start
|
||||||
|
: CrossAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
if (controller.selectedUnder.value) ...[
|
if (controller.selectedUnder.value) ...[
|
||||||
SvgPicture.asset(
|
SvgPicture.asset(
|
||||||
@ -203,7 +222,8 @@ class FaceToFaceView extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
Flexible(
|
Flexible(
|
||||||
child: Visibility(
|
child: Visibility(
|
||||||
visible: SpeechToTextManager().isListening.value && ObjUtil.isNotEmptyStr(controller.underText.value),
|
visible: SpeechToTextManager().isListening.value &&
|
||||||
|
ObjUtil.isNotEmptyStr(controller.underText.value),
|
||||||
replacement: const Text(
|
replacement: const Text(
|
||||||
'Please start talking',
|
'Please start talking',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
|
|||||||
@ -95,7 +95,6 @@ class HomeLogic extends GetxController {
|
|||||||
SceneEntity entity = sceneTypeList[x];
|
SceneEntity entity = sceneTypeList[x];
|
||||||
if (entity.sceneList != null && entity.sceneList!.isNotEmpty) {
|
if (entity.sceneList != null && entity.sceneList!.isNotEmpty) {
|
||||||
var y = NumUtil.getRandomNumber(0, entity.sceneList!.length);
|
var y = NumUtil.getRandomNumber(0, entity.sceneList!.length);
|
||||||
|
|
||||||
fromStr.value = _getSentence(true, entity.sceneList![y]);
|
fromStr.value = _getSentence(true, entity.sceneList![y]);
|
||||||
toStr.value = _getSentence(false, entity.sceneList![y]);
|
toStr.value = _getSentence(false, entity.sceneList![y]);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,14 +15,10 @@ class HomePage extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
body: Container(
|
body: Container(
|
||||||
width: double.infinity,
|
|
||||||
height: double.infinity,
|
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 20),
|
padding: const EdgeInsets.symmetric(horizontal: 20),
|
||||||
decoration: const BoxDecoration(
|
decoration: const BoxDecoration(
|
||||||
image: DecorationImage(
|
image: DecorationImage(
|
||||||
image: AssetImage(
|
image: AssetImage(Assets.imagesHomeBackground),
|
||||||
Assets.imagesHomeBackground,
|
|
||||||
),
|
|
||||||
fit: BoxFit.fill,
|
fit: BoxFit.fill,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -429,8 +425,7 @@ class HomePage extends StatelessWidget {
|
|||||||
padding: const EdgeInsets.all(5),
|
padding: const EdgeInsets.all(5),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: const Color(0xff8BCFFE),
|
color: const Color(0xff8BCFFE),
|
||||||
borderRadius:
|
borderRadius: BorderRadius.circular(18),
|
||||||
BorderRadius.circular(18),
|
|
||||||
),
|
),
|
||||||
child: SvgPicture.asset(
|
child: SvgPicture.asset(
|
||||||
Assets.svgHomeVoice,
|
Assets.svgHomeVoice,
|
||||||
|
|||||||
@ -8,10 +8,8 @@ import 'package:trans_lark/widget/base_appbar.dart';
|
|||||||
import 'package:trans_lark/widget/base_scrollbar.dart';
|
import 'package:trans_lark/widget/base_scrollbar.dart';
|
||||||
import 'package:trans_lark/widget/language_scene_bar.dart';
|
import 'package:trans_lark/widget/language_scene_bar.dart';
|
||||||
|
|
||||||
class SceneListView extends StatelessWidget {
|
class SceneListView extends GetView<SceneListController> {
|
||||||
SceneListView({super.key});
|
const SceneListView({super.key});
|
||||||
|
|
||||||
final controller = Get.find<SceneListController>();
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|||||||
@ -10,19 +10,17 @@ class SettingsController extends GetxController {
|
|||||||
@override
|
@override
|
||||||
void onReady() {
|
void onReady() {
|
||||||
super.onReady();
|
super.onReady();
|
||||||
_getVersion();
|
_getAppVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 获取版本号
|
/// 获取版本号
|
||||||
void _getVersion() async {
|
void _getAppVersion() async {
|
||||||
final packageInfo = await PackageInfo.fromPlatform();
|
final packageInfo = await PackageInfo.fromPlatform();
|
||||||
versionName.value = 'version number ${packageInfo.version}';
|
versionName.value = 'version number ${packageInfo.version}';
|
||||||
}
|
}
|
||||||
|
|
||||||
void itemOnTap(int index) {
|
void itemOnTap(int index) {
|
||||||
if (index == -1) {
|
if (index == 0) {
|
||||||
|
|
||||||
} else if (index == 0) {
|
|
||||||
Get.toNamed(GetRouter.privacy, arguments: {
|
Get.toNamed(GetRouter.privacy, arguments: {
|
||||||
'title': options[index],
|
'title': options[index],
|
||||||
'url': 'https://translark.bitbucket.io/privacy.html',
|
'url': 'https://translark.bitbucket.io/privacy.html',
|
||||||
|
|||||||
@ -2,10 +2,8 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:trans_lark/page/splash/splash_controller.dart';
|
import 'package:trans_lark/page/splash/splash_controller.dart';
|
||||||
|
|
||||||
class SplashView extends StatelessWidget {
|
class SplashView extends GetView<SplashController> {
|
||||||
SplashView({super.key});
|
const SplashView({super.key});
|
||||||
|
|
||||||
final controller = Get.find<SplashController>();
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|||||||
@ -5,10 +5,8 @@ import 'package:trans_lark/widget/base_appbar.dart';
|
|||||||
import 'package:trans_lark/widget/view_state_widget.dart';
|
import 'package:trans_lark/widget/view_state_widget.dart';
|
||||||
import 'package:webview_flutter/webview_flutter.dart';
|
import 'package:webview_flutter/webview_flutter.dart';
|
||||||
|
|
||||||
class WebPageView extends StatelessWidget {
|
class WebPageView extends GetView<WebPageController> {
|
||||||
WebPageView({super.key});
|
const WebPageView({super.key});
|
||||||
|
|
||||||
final controller = Get.find<WebPageController>();
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user