当我点击加号时,我想制作这种类型的图像选择器,当我选择适合此容器的图像时,它会打开图像选择器。
这是我尝试过的一些代码。
在这段代码中,我使用了平面按钮,它将选择和图像并将其显示在平面按钮下。但我想要像我在图像中提到的那样输出。5个不同的图像上传器。
import 'dart:io';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
class BusinessProfilePage extends StatefulWidget {
@override
_BusinessProfilePageState createState() => _BusinessProfilePageState();
}
class _BusinessProfilePageState extends State<BusinessProfilePage> {
Future<File> profilepicture;
bool aggreeandaccept = false;
bool accepttudo = false;
pickprofilepicture(ImageSource source) {
setState(() {
profilepicture = ImagePicker.pickImage(source: source);
});
}
Widget _buildbusinessprofilepicture() {
return new FormField(
builder: (FormFieldState state) {
return FlatButton.icon(
icon: Icon(Icons.image),
label: Text('Business Profile Picture'),
//color: Colors.white,
textColor: Colors.black54,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(50),
),
onPressed: () {
pickprofilepicture(ImageSource.gallery);
}, …Run Code Online (Sandbox Code Playgroud) 我有一个下拉菜单,下拉按钮内有一些值,我需要默认选择的值。您可以在下面的代码片段中找到下拉值。我总是需要它,默认情况下选择值“正常”。希望你明白这个问题。
FormBuilder(
autovalidate: autovalidate,
child: FormBuilderCustomField(
attribute: "Select Address",
validators: [
FormBuilderValidators.required(),
],
formField: FormField(
builder: (FormFieldState<dynamic> field) {
return InputDecorator(
decoration: InputDecoration(
errorText: field.errorText,
filled: false,
isDense: true,
border: InputBorder.none,
icon: Container(
width: 50.0,
height: 50.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(20.0),
color: colorStyles['primary_light'],
),
child: Icon(
Icons.business_center,
color: colorStyles['primary'],
),
),
),
isEmpty: _typeValue == [],
child: new DropdownButtonHideUnderline(
child: DropdownButton(
hint: Text("Service Type"),
isExpanded: true,
items: [
"normal",
"urgent",
"emergency",
].map((option) {
return DropdownMenuItem(
child: Text("$option"),
value: option,
); …Run Code Online (Sandbox Code Playgroud) 谁能告诉我如何根据国家/地区代码格式化手机号码。希望你能理解。
这是我到目前为止所做的尝试:
var controller = new MaskedTextController(mask: '(000) 000 0000');
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar( title: Text("Masked Text"), ),
body: Container(
child: Row(
children: <Widget>[
Expanded(
child: TextField(
controller: controller,
keyboardType: TextInputType.number, maxLength: 18,
),
),
],
)),
);
}
Run Code Online (Sandbox Code Playgroud) numberformatter mobile-country-code flutter flutter-dependencies
当用户单击清除按钮时如何清除整个表单。我已经尝试过,但是当我按下清除按钮时,它不会清除条款和条件复选框和下拉菜单。
所以我希望当用户按下清除按钮时它将清除整个表单。
这是我尝试过的代码。希望你能理解这个问题。您的帮助将不胜感激。
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:image/mobile_register_scree.dart';
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:geocoder/geocoder.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:image/page2.dart';
import 'package:pin_code_fields/pin_code_fields.dart';
import 'package:pin_entry_text_field/pin_entry_text_field.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'dart:async';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_form_builder/flutter_form_builder.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: SignupScreen(),
);
}
}
class SignupScreen extends StatefulWidget {
@override
_SignupScreenState createState() => new _SignupScreenState();
}
class _SignupScreenState extends State<SignupScreen> {
final formKey = new GlobalKey<FormState>(); …Run Code Online (Sandbox Code Playgroud) 在这里,我想将产品的所有 Id 存储在共享首选项中。但是在这里,当我使用setInt它存储 id 时,它只会存储一个 Id 并删除以前的 ID,因此我希望所有 id 都需要存储在共享首选项中,以及如何获取存储在共享首选项中的所有 id。
这是我试过的代码
unAuthAddCart(dynamic itemId) async {
try {
SharedPreferences pref = await SharedPreferences.getInstance();
var unAuthItemId = pref.setInt('unAuthItemid', itemId);
print(unAuthItemId);
var abc = pref.getInt('unAuthItemid');
print("UnAuth Itme Id $abc");
} catch (e) {
print(e);
print("Something went Wrong in Particular Product Cart");
}
}
Run Code Online (Sandbox Code Playgroud) sharedpreferences dart flutter flutter-dependencies flutter-layout
这里我有两个页面,第一个叫做BSP_signup_termspage,第二个叫做Bsp_Service_page. 当我在BSP_signup_terms该页面上时,我必须根据选定的复选框选择一些复选框,它会显示一些数据。但问题是它会向我显示完整的数据,但是当我回到BSP_signup_terms fromBsp_signup_page并更改复选框时,然后再次按下下一步按钮时,它不会更改与上一个结果相同的结果。
这是输出页面的图像
在这张图片中,当我只选择一个复选框时,我已经附加了两个屏幕输出,它会在服务页面中呈现一些值,当我回到“条款和条件”页面并再选择一个复选框时,它不会更新服务页面
这是我试过的代码。
BSP_Signup_Terms_Page
class BspLicensedSignupTermsPage extends StatefulWidget {
static const String routeName = "/bspLicensedSignupTerms";
final BspSignupCommonModel bspSignupCommonModel;
BspLicensedSignupTermsPage({
Key key,
@required this.bspSignupCommonModel,
}) : super(key: key);
@override
_BspLicensedSignupTermsPageState createState() =>
_BspLicensedSignupTermsPageState();
}
class _BspLicensedSignupTermsPageState
extends State<BspLicensedSignupTermsPage> {
@override
void initState() {
super.initState();
}
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
bool _isWalkIn = false;
bool _isHome = false;
bool _isOnDemand = false;
Widget _buildselectcheckbox() {
return Text(
AppConstantsValue.appConst['bsplicensedsignupterms']['selectcheck']
['translation'], …Run Code Online (Sandbox Code Playgroud) state-management flutter flutter-test flutter-dependencies flutter-layout
在这里,当我从下拉列表中选择值时,国家代码文本字段值会根据选择的下拉项目进行更改,在此示例中,当我从下拉值中选择美国时,我有一些静态值国家代码值自动更改为 +1,当我从下拉列表中选择印度时,国家/地区代码将更改为 +91。
这是输出图像,因此您可以获得更好的主意。
这是我试过的代码。
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_masked_text/flutter_masked_text.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:tudo/src/modules/signup/index.dart';
import 'package:tudo/src/utils/app_constants_value.dart';
import 'package:tudo/src/utils/roundrectbutton.dart';
class SignupScreen extends StatefulWidget {
const SignupScreen({
Key key,
@required SignupBloc signupBloc,
}) : _signupBloc = signupBloc,
super(key: key);
final SignupBloc _signupBloc;
@override
SignupScreenState createState() {
return new SignupScreenState(_signupBloc);
}
}
class SignupScreenState extends State<SignupScreen> {
final SignupBloc _signupBloc;
SignupScreenState(this._signupBloc);
static final List<String> _dropdownItems = <String>['India', 'USA'];
final formKey = new GlobalKey<FormState>();
bool _validate = false;
Person person = …Run Code Online (Sandbox Code Playgroud) 我有一个关于验证的问题。我的小部件字段验证在检查之前已变为 true。当我刚刚打开此页面时,验证会自动变为 true。
我希望在用户输入后进行验证。但在用户从字段中输入内容之前,这种验证就变得真实了。那么有人可以帮助我吗?我们将不胜感激您的帮助。
这是我尝试过的代码。
class BspSignupPage extends StatefulWidget {
static const String routeName = "/bspSignup";
@override
_BspSignupPageState createState() => _BspSignupPageState();
}
class _BspSignupPageState extends State<BspSignupPage>
with AfterLayoutMixin<BspSignupPage> {
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
// final TextEditingController _bspPhone = TextEditingController();
final MaskedTextController _bspPhone =
new MaskedTextController(mask: '(000)-000-0000');
final TextEditingController _bspBusinessName = TextEditingController();
final TextEditingController _bspBusinessLegalAddress =
TextEditingController();
final TextEditingController _bspBusinessLicense = TextEditingController();
final TextEditingController _bspLicenseAuthority = TextEditingController();
final TextEditingController _bspEstYear = TextEditingController();
final TextEditingController _bspNumberOfEmployee = TextEditingController();
final TextEditingController _bspBusinessDetailsComment …Run Code Online (Sandbox Code Playgroud) validation flutter flutter-test flutter-dependencies flutter-layout
我想像这样格式化日期,2019-07-08T10:37:28Z但我不知道该怎么做,任何人都可以帮我解决这个问题。
这是日期选择器的代码
final format = new DateFormat.yMMMEd('en-US');
return DateTimeField(
format: format,
autocorrect: true,
autovalidate: false,
controller: _bspLicenseExpiryDate,
readOnly: true,
validator: (date) => date == null ? 'Please enter valid date' : null,
decoration: InputDecoration(
labelText: "Expiry Date",
hintText: "Expiry Date",
prefixIcon: Icon(
FontAwesomeIcons.calendar,
size: 24,
)),
onShowPicker: (context, currentValue) {
return showDatePicker(
context: context,
firstDate: DateTime.now(),
initialDate: currentValue ?? DateTime.now(),
lastDate: DateTime(2100),
);
},
);
Run Code Online (Sandbox Code Playgroud) 我想在初始化 initstate 时聚焦我的文本字段。例如。当我打开任何页面时,如果有任何文本字段,则文本字段需要自动聚焦。
TextFormField(
focusNode: focusNode,
style: TextStyle(
color: Colors.white,
fontSize: orientation == Orientation.portrait
? MediaQuery.of(context).size.width * 0.025
: MediaQuery.of(context).size.width * 0.015,
),
validator: (val) => Validators.validateRequired(
val, " Product Baarcode"),
controller: _addproduct,
// focusNode: _addproductFocusNode,
decoration: InputDecoration(
errorStyle: TextStyle(color: Colors.yellow),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
fillColor: Colors.white,
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
hintStyle: TextStyle(color: Colors.white),
labelStyle: TextStyle(color: Colors.white),
filled: false,
prefixIcon: Icon(
FontAwesomeIcons.barcode,
color: Colors.white,
),
labelText: "Enter Product Barcode",
hintText: "Enter Product Barcode",
),
onFieldSubmitted: (val) …Run Code Online (Sandbox Code Playgroud) 当用户长按地图时,用户如何添加多个标记。在这段代码中,我完成了单张地图。当用户长按地图时,它会自动添加一个标记,但我不知道如何在地图上添加多个标记。我尝试了很多代码,但没有得到正确的结果。希望你明白这个问题。你的小帮助可以让我开心。提前致谢。
这是我试过的代码:)
import 'package:flutter/material.dart';
import 'package:geocoder/geocoder.dart';
import 'dart:async';
import 'package:google_maps_flutter/google_maps_flutter.dart';
void main() => runApp(MyApp());
const kGoogleApiKey = "API_KEY";
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(title: "MAP", home: BspAddressmapscreen());
}
}
class BspAddressmapscreen extends StatefulWidget {
BspAddressmapscreen({Key key}) : super(key: key);
@override
_BspAddressmapscreenState createState() => _BspAddressmapscreenState();
}
class _BspAddressmapscreenState extends State<BspAddressmapscreen> {
final homeScaffoldKey = GlobalKey<ScaffoldState>();
Completer<GoogleMapController> _controller = Completer();
@override
void initState() {
super.initState();
}
double zoomVal = 5.0;
@override
Widget build(BuildContext context) {
return …Run Code Online (Sandbox Code Playgroud) google-maps-markers dart flutter flutter-layout google-maps-flutter
我有两个日期选择器字段合同开始日期和合同结束日期。当我选择合同开始日期时,合同结束日期的初始值或第一个日期是第一个日期选择器的选择日期。
这里我有两个日期选择器的代码。
Widget _buildContractBeginDate() {
return DateTimeField(
format: format,
autocorrect: true,
autovalidate: false,
controller: _contractBeginDate,
readOnly: true,
validator: (date) => (date == null || _contractBeginDate.text == '')
? 'Please enter valid date'
: null,
decoration: InputDecoration(
labelText: "Contract Begin Date",
hintText: "Contract Begin Date",
prefixIcon: Icon(
FontAwesomeIcons.calendar,
size: 24,
)),
onShowPicker: (context, currentValue) {
return showDatePicker(
context: context,
firstDate: DateTime(1900),
initialDate: currentValue ?? DateTime.now(),
lastDate: DateTime(2022),
);
},
);
}
Widget _buildContractEndDate() {
return DateTimeField(
format: format,
autocorrect: true,
autovalidate: …Run Code Online (Sandbox Code Playgroud) flutter ×13
flutter-layout ×12
dart ×6
flutter-test ×3
textfield ×2
checkbox ×1
datepicker ×1
datetime ×1
emoji ×1
format ×1
keyboard ×1
reset ×1
selection ×1
validation ×1