我正在为尺寸设置PHP
,以便用户选择自己的尺寸。
当用户按下按钮时,如何使按钮边框变为粗体?
-这些按钮是由ListView.builder创建的,因此我无法为其设置局部变量。
答案 0 :(得分:1)
您可以创建一个变量,该变量保留要设置为粗体的按钮编号,单击后可以更改该变量的值。
下面的例子可以使你明白。
import 'package:flutter/material.dart';
class TextFieldInput extends StatefulWidget {
@override
_TextFieldInputState createState() => _TextFieldInputState();
}
class _TextFieldInputState extends State<TextFieldInput> {
final List<int> list = [1,2,3,4,5,6,7,8,9,0];
int number = -1;
@override
Widget build(BuildContext context) {
return Center(
child: Container(
child: ListView.builder(
itemCount: (list.length).ceil(),
itemBuilder: (context, int index){
return new FlatButton(
key: Key(index.toString()),
child: new Text(list[index].toString()),
shape: Border.all(
width: number==index ? 5.0 : 3.0
),
onPressed: (){
setState(() {
number = index;
});
}
);
}
)
),
);
}
}