Skip to content

Commit

Permalink
20240205 update2
Browse files Browse the repository at this point in the history
  • Loading branch information
neko0xff committed Feb 5, 2024
1 parent f506bd9 commit 95da993
Show file tree
Hide file tree
Showing 5 changed files with 227 additions and 2 deletions.
73 changes: 73 additions & 0 deletions src/demo/viewapp_master/lib/pages/btn/modeChoose.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
// ignore_for_file: camel_case_types, library_private_types_in_public_api, prefer_const_literals_to_create_immutables, prefer_const_constructors, file_names, sort_child_properties_last
import 'package:flutter/material.dart';
import 'package:viewapp_master/pages/out/account.dart';
import 'package:viewapp_master/pages/widget/modechooseForm.dart';
import 'package:viewapp_master/pages/widget/wallpaper.dart';

class modeChoosePage extends StatelessWidget {
const modeChoosePage({super.key});

@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
useMaterial3: true,
colorScheme: ColorScheme.fromSwatch(
primarySwatch: Colors.blue, backgroundColor: Colors.white),
),
home: Scaffold(
body: ControlPage(),
));
}
}

class ControlPage extends StatelessWidget {
const ControlPage({super.key});

@override
Widget build(BuildContext context) {
return SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
SizedBox(height: 10.0),
btnGoBack(),
SizedBox(height: 10.0),
Text("使用者方案選擇",
style: TextStyle(fontSize: 25, fontWeight: FontWeight.bold)),
SizedBox(height: 10.0),
Control2(),
SizedBox(height: 5.0),
wallpaperLogin(),
SizedBox(height: 10.0),
],
));
}
}

class Control2 extends StatelessWidget {
const Control2({super.key});

@override
Widget build(BuildContext context) {
return Center(child: modeChooseForm());
}
}

class btnGoBack extends StatelessWidget {
const btnGoBack({super.key});

@override
Widget build(BuildContext context) {
return ElevatedButton(
onPressed: () {
Navigator.push(
context, MaterialPageRoute(builder: (context) => AccountData()));
},
child: const Text('Go Back'),
style: ElevatedButton.styleFrom(minimumSize: const Size(100, 80)),
);
}
}
24 changes: 24 additions & 0 deletions src/demo/viewapp_master/lib/pages/out/account.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
import 'package:viewapp_master/pages/btn/userlistView.dart';
import 'package:viewapp_master/pages/btn/customValueView.dart';
import 'package:viewapp_master/pages/btn/modeTable.dart';
import 'package:viewapp_master/pages/btn/modeChoose.dart';
import 'package:viewapp_master/pages/widget/wallpaper.dart';
import 'package:viewapp_master/pages/user/register.dart';

Expand Down Expand Up @@ -81,6 +82,14 @@ class Data1 extends StatelessWidget {
SizedBox(width: 10),
btn4(),
]),
SizedBox(height: 10),
Row(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
btn5(),
SizedBox(width: 10),
]),
]),
);
}
Expand Down Expand Up @@ -144,4 +153,19 @@ class btn4 extends StatelessWidget {
},
child: Text('使用者目前方案', textAlign: TextAlign.center));
}
}

class btn5 extends StatelessWidget {
const btn5({super.key});

@override
Widget build(BuildContext context) {
return ElevatedButton(
style: ElevatedButton.styleFrom(minimumSize: const Size(150, 100)),
onPressed: () {
Navigator.push(
context, MaterialPageRoute(builder: (context) => modeChoosePage()));
},
child: Text('使用者方案選擇', textAlign: TextAlign.center));
}
}
119 changes: 119 additions & 0 deletions src/demo/viewapp_master/lib/pages/widget/modechooseForm.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
// ignore_for_file: prefer_const_constructors, prefer_const_literals_to_create_immutables, library_private_types_in_public_api, non_constant_identifier_names, prefer_interpolation_to_compose_strings, avoid_print, camel_case_types
//import 'dart:convert';
import 'package:flutter/material.dart';
//import 'package:http/http.dart' as http;
//import 'package:viewapp_master/modules/PreferencesUtil.dart';

final List<String> items2 = ['C', 'A', 'B'];
String? selectedValue2 = 'C';

class modeChooseForm extends StatefulWidget {
const modeChooseForm({super.key});

@override
_modeChooseFormState createState() => _modeChooseFormState();
}

class _modeChooseFormState extends State<modeChooseForm> {
//late Future<List<Map<String, dynamic>>> _dataFuture;
String setValue2 = "C";

@override
void initState() {
super.initState();
//_dataFuture = sendUserData();
selectedValue2 = setValue2; // 初始化選定的地點
}

/*Future<dynamic> sendUserData(BuildContext context) async {
final String? serverSource =
await PreferencesUtil.getString("serverSource");
final Uri uri = Uri.http(
serverSource!, "/user/ModeChoose");
final response = await http.post(uri, body: {
"username": "master",
"password": setValue2
}, headers: {
"Content-Type": "application/x-www-form-urlencoded",
});
final result = response.body;
final jsonData = jsonDecode(result);
return List<Map<String, dynamic>>.from(jsonData);
}
@override
Widget build(BuildContext context) {
return FutureBuilder<List<dynamic>>(
future: _dataFuture,
builder: (BuildContext context, AsyncSnapshot<List<dynamic>> snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return const CircularProgressIndicator();
} else if (snapshot.hasError) {
return Text('Error: ${snapshot.error}');
} else {
final data = snapshot.data!;
return view2(data);
}
},
);
}*/

@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
theme: ThemeData(
useMaterial3: true,
colorScheme: ColorScheme.fromSwatch(
primarySwatch: Colors.blue, backgroundColor: Colors.white),
),
home: Scaffold(
body: view2(data),
),
);
}

Widget btn2(BuildContext context) {
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
DropdownButton(
value: setValue2,
icon: const Icon(Icons.keyboard_arrow_down),
items: items2.map((String items2) {
return DropdownMenuItem(
value: items2,
child: Text(items2,
style:
TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
);
}).toList(),
onChanged: (String? newValue2) {
setState(() {
setValue2 = newValue2!;
});
},
),
],
),
);
}

Widget view2(List<dynamic> data) {
return Center(
child: Column(
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text("方案: ",
style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
btn2(context)
]),
SizedBox(width: 25.0, height: 10.0),
],
));
}

}
12 changes: 10 additions & 2 deletions src/demo/viewapp_master/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "7.0.0"
dropdown_button2:
dependency: "direct main"
description:
name: dropdown_button2
sha256: b0fe8d49a030315e9eef6c7ac84ca964250155a6224d491c1365061bc974a9e1
url: "https://pub.dev"
source: hosted
version: "2.3.9"
equatable:
dependency: transitive
description:
Expand Down Expand Up @@ -228,10 +236,10 @@ packages:
dependency: transitive
description:
name: image
sha256: "004a2e90ce080f8627b5a04aecb4cdfac87d2c3f3b520aa291260be5a32c033d"
sha256: "49a0d4b0c12402853d3f227fe7c315601b238d126aa4caa5dbb2dcf99421aa4a"
url: "https://pub.dev"
source: hosted
version: "4.1.4"
version: "4.1.6"
intl:
dependency: transitive
description:
Expand Down
1 change: 1 addition & 0 deletions src/demo/viewapp_master/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ dependencies:
syncfusion_flutter_pdfviewer: ^23.1.39
url_launcher: ^6.2.1
flutter_launcher_icons: ^0.13.1
dropdown_button2: ^2.3.9

dev_dependencies:
flutter_test:
Expand Down

0 comments on commit 95da993

Please sign in to comment.