记录flutter ListView卡顿的一种情况
如果ListView是用的children[]方式,快速滑动会卡顿
建议使用SingleChildScrollView
ListView(
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
children: [
//姓名
const CommonLabel(text: "Là mục bắt buộc nhập"),
Padding(padding: EdgeInsets.only(top: 10.h)),
CommonInput(
hint: "Nhập tên đầy đủ ",
type: TextInputType.text,
visible: true,
controller: _nameController,
),
Padding(padding: EdgeInsets.only(top: 10.h)),
//身份证
CommonInput(
hint: "Nhập số CMND/ CCCD ",
type: TextInputType.number,
visible: true,
controller: _idCardNumberController,
),
Padding(padding: EdgeInsets.only(top: 10.h)),
//出生日期
CommonSelect(
visible: true,
hint: "Ngày sinh ",
selectedValue: _birthdayValue,
onPress: () {
_showTimePicker();
},
),
Padding(padding: EdgeInsets.only(top: 10.h)),
_checkBoxView(),
//教育程度
const CommonLabel(
text: "Vui lòng chọn trình độ học vấn "),
Padding(padding: EdgeInsets.only(top: 10.h)),
CommonSelect(
hint: "Vui lòng chọn",
selectedValue: _educationName,
onPress: () {
_disFocus();
if (_eductionData.isNotEmpty) {
_showMyPicker(_eductionData, StepStatus.EDUCATION);
}
},
),
Padding(padding: EdgeInsets.only(top: 10.h)),
SingleChildScrollView(
physics: const BouncingScrollPhysics(),
child: Column(
/* padding: EdgeInsets.only(left: 10.w, right: 10.w),*/
children: [
Padding(
padding: EdgeInsets.only(left: 17.w, right: 17.w),
child: Image.asset(
"assets/images/p1_2.png",
height: 61.h,
width: 306.w,
)),
Padding(
padding: EdgeInsets.only(
top: 22.5, left: 2.5.w, right: 2.5.w),
child: Image.asset("assets/images/p1_1.png"),
),
Padding(padding: EdgeInsets.only(top: 25.h)),
const CommonText(text: " Là mục bắt buộc nhập"),