嗨,我正在从事Flutter项目 我的Flutter ListView按钮出现问题,所以现在看起来和我想要的一样,但按我的意愿行不通
因此,如果您单击上面的图像,则出现勾号覆盖,这是我需要setState()的原因,但是现在要获取该勾号是问题,我需要轻按两次,我不知道如何解决此问题问题,或者是否有任何窗口小部件按钮在onclick叠加层上我检查了其中的大多数,但其中的大多数却不起作用或我不知道?在容器内部,我有14个相同的列,其编号为1-14,我将使其更紧凑,但首先我需要解决此问题,这里是代码。
`bool _pressed = false;
int _btnIndex = 0;
TabBarView(children: <Widget>[
Container(
height: 300,
// padding: EdgeInsets.only(bottom: 10),
padding: EdgeInsets.all(10),
color: Colors.white,
child: ListView(
padding: EdgeInsets.all(6),
scrollDirection: Axis.horizontal,
children: <Widget>[
Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
Container(
alignment: Alignment.center,
child: Padding(
padding: const EdgeInsets.all(6.0),
child: Material(
elevation: 4.0,
shape: CircleBorder(),
clipBehavior: Clip.hardEdge,
color: !_pressed && _btnIndex == 1
? Colors.red
: Colors.white54,
child: Ink.image(
image: AssetImage('assets/images/colosseum.jpg'),
fit: BoxFit.cover,
colorFilter: _pressed && _btnIndex == 1
? ColorFilter.mode(
Colors.black87,
BlendMode.darken,
)
: null,
width: 60.0,
height: 60.0,
child: InkWell(
// splashColor: Colors.green,
focusColor: Colors.red,
highlightColor: Colors.white60,
// overlayColor: MaterialStateColor(),
child: _pressed && _btnIndex == 1
? Icon(
Icons.check,
color: Colors.white,
)
: null,
// onDoubleTap: () {
// _pressed = !_pressed;
// },
onTap: () {
setState(() {
_pressed = !_pressed;
_btnIndex = 1;
});
// _pressed = true;
print('I tapped no 1');
},
),
),
),
),
),
Container(
alignment: Alignment.center,
child: Text('10'),
),
],
),
]),
),
]);`
答案 0 :(得分:0)
嘿,@ user2572661可能是您触摸容器时可能无法交互的原因,因为您可以使用onTap:
并在水平滚动方向上使用,也可以使用小部件GestureDetector()
来更改状态或逻辑致电for i in range(0,10):
player.append(str(input()))
。虽然可以请您分享更多代码,以便我理解并解决您的问题。
答案 1 :(得分:0)
为此只需使用Listview.builder 并在Builder内部使用GestureDetector更改所选项目
首先获取一个变量以跟踪所选索引
Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.
然后创建一个listView Builder窗口小部件
int selected;
仅编写用于在isSelected为true时在YourWidget图像中显示刻度的逻辑