listview - 在颤动中选择时更改抽屉嵌套内容中小部件的颜色
问题描述
导航抽屉的内容使用嵌套列表视图填充如下
ListView.builder(
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: someValue,itemBuilder: (context,indexRole){
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(' Header ${[indexRole]}'),
ListView.builder(
//inner contentt
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemBuilder: (context,index){
return ListTile(
leading: Icon(xyz['icon'],
color: page == index? Theme.of(context).primaryColor
:Theme.of(context).textTheme.title.color,
),
title: Text('${xyz['name']}'),
onTap: (){
Navigator.pop(context);
},
);
},itemCount: someValue,
)
],
);
})
导航工作正常,但指的是要着色的特定 ListTile 是问题所在。谢谢你
解决方案
确实使用外部和内部ListView.Builder
的索引得出了答案,如下所示
color: pageListIndex ==page && indexRole == headPtr && index == innerPtr ? Theme.of(context).primaryColor : Theme.of(context).textTheme.title.color,
变量在onTap(){}方法中分配
onTap: (){
int indexiRole = indexRole;
innerPtr=index;
headPtr = indexRole;`//...`
推荐阅读
- git - Git 展平子模块
- swift - iPad 上的 Swift Playgrounds,NSLog 在 macOS 上的“Console.app”上不显示任何消息
- google-apps-script - Google 表单审批工作流程
- sql - 在 SQL 中查找数字参数所属的行
- javascript - 错误类型错误:未定义不是具有全局变量的对象
- nginx - Mikrotik.com 的 nginx 反向代理
- python - psycopg2.ProgrammingError:无法适应类型“标签”
- networking - CONTIKI -- 使用 AP 和移动节点的 COOJA WiFi 模拟
- jquery - 无法将数据放在控制器 laravel 返回的 ajax 成功函数的输入值上
- python - 如何访问我编写的 django 库