Widget buildSpecialEffects() {
return StatefulBuilder(builder: (context, setState) {
return Container(
width: 1920.w,
height: 844.w,
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
margin: EdgeInsets.only(bottom: 17.w),
height: 125.w,
width: 1183.w,
alignment: Alignment.center,
child: Slider(
activeColor: Color(0xFFFFFFFF),
inactiveColor: Color(0x80FFFFFF),
max: 100,
min: 0,
value: specialEffectsSliderIndex,
onChanged: (double value) {
setState(() {
specialEffectsSliderIndex = value.toInt().toDouble();
});
},
),
),
///底下白色布局
Expanded(
child: Container(
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(58.w),
topRight: Radius.circular(58.w))),
padding: EdgeInsets.only(left: 78.w, right: 78.w),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
///清除
Container(
height: 255.w,
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Row(
children: [
Image.asset(
'image/icon57.png',
width: 68.w,
),
Container(
width: 29.w,
),
Text(
'清除',
style: TextStyle(fontSize: 71.w),
),
Container(
width: 78.w,
),
Container(
width: 2.w,
height: 96.w,
color: const Color(0xFFEEEEEE),
)
],
mainAxisSize: MainAxisSize.min,
),
Expanded(
child: Container(
margin: EdgeInsets.only(left: 39.w),
child: ListView.builder(
controller: specialTypeController,
scrollDirection: Axis.horizontal,
itemCount: specialEffectsTypeList.length,
itemBuilder: (context, index) {
return GestureDetector(
onTap: (){
if(widget.methodListener != null){
widget.methodListener('onSpecialTypeIndex',index);
}
setState((){
specialEffectsTypeIndex = index;
});
},
child: Container(
color: Colors.transparent,
padding: EdgeInsets.only(
left: 39.w,
right: 39.w,
bottom: 78.w,
top: 78.w),
child: Text(
'${specialEffectsTypeList[index].name}',
style: TextStyle(
fontSize: 71.sp,
color: (index == specialEffectsTypeIndex)
? Colors.red
: Colors.black,
fontWeight: (index == specialEffectsTypeIndex)
? FontWeight.bold
: FontWeight.w400,
),
),
),
);
}),
))
],
),
),
///分類列表
Expanded(
child: ListView.builder(
padding: EdgeInsets.only(top: 0),
scrollDirection: Axis.horizontal,
itemCount: specialEffectsList.length,
itemBuilder: (context, index) {
return GestureDetector(
onTap: (){
if(widget.methodListener != null){
widget.methodListener('onSpecialIndex',index);
}
},
child: Container(
margin: EdgeInsets.only(right: 39.w,bottom: 21.w),
child: Column(
children: [
Container(
decoration: BoxDecoration(
image: DecorationImage(
image: NetworkImage(Request.assertUrl + specialEffectsList[index].cover)
),
borderRadius: BorderRadius.circular(28.w),
border: (index == specialEffectsContentIndex)?Border.all(color: Colors.red,width: 3.w):null
),
width: 286.w,
height: 286.w,
),
Container(
height: 25.w,
),
Text('${specialEffectsList[index].name}',style: TextStyle(fontSize: 61.w,color: Colors.black),)
],
),
),
);
}),
)
],
),
),
)
],
),
);
});
}
在setState不生效的情況下,可使用StatefulBuilder
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
推薦閱讀更多精彩內(nèi)容
- React不使用生命周期以及setstate的情況下可以通過forceUpdate()方法來進行render的渲染...
- 直接開始!不嘮叨?? 1.登錄GitHub,創(chuàng)建倉庫 2.填寫倉庫信息,創(chuàng)建倉庫 3.生成倉庫地址 4.Xcode...
- 按照下面的代碼封裝完輪播組件后,在微信小程序模擬器中可以實現(xiàn)圓角效果,But運行到真機上,圓角效果沒了!!! 輪播...
- 寫在前面: 大家好,這是光堂兄的第一篇文章,其實很早之前就有將自己學(xué)習(xí)python的點滴記錄下來的想法,只是沒有找...