Json 颤振问题中的特定RenderFlex为:RenderFlex#9b4ca relayoutBoundary=up9溢出
我有一个搜索栏,用于查询listview(JSON)以从listview(JSON)中获取可能接近的输入文本由于某些原因,我的水平列表视图隐藏在右侧,直到我开始在搜索栏文本字段上键入时才会显示,当它显示时,它不会完全显示,而是部分显示,其余列表仍隐藏在设备屏幕的右侧。以下是我的代码,附件是我的截图:Json 颤振问题中的特定RenderFlex为:RenderFlex#9b4ca relayoutBoundary=up9溢出,json,flutter,listview,search,uisearchbar,Json,Flutter,Listview,Search,Uisearchbar,我有一个搜索栏,用于查询listview(JSON)以从listview(JSON)中获取可能接近的输入文本由于某些原因,我的水平列表视图隐藏在右侧,直到我开始在搜索栏文本字段上键入时才会显示,当它显示时,它不会完全显示,而是部分显示,其余列表仍隐藏在设备屏幕的右侧。以下是我的代码,附件是我的截图: Container( height: 120, // width: 150,
Container(
height: 120,
// width: 150,
child: ListView.builder(
scrollDirection: Axis.horizontal,
// padding: EdgeInsets.all(5.0),
itemCount: _notesForDisplay.length+1,
itemBuilder: (context, position) {
return position == 0 ? _searchBar() : _listItem(position-1);
}
)),
_listItem(position) {
return InkWell(
onTap: (){
_myFeatureSelection = position.toString();
debugPrint("myfeat:$_myFeatureSelection");
//_fetchFeaturePickedList();
_fetchComment();
},
child:Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Card(
semanticContainer: true,
clipBehavior: Clip.antiAliasWithSaveLayer,
child: Stack(
children: <Widget>[
Image.network(_notesForDisplay[position].img_link,
width: 120, height: 100, fit: BoxFit.cover),
/*Positioned(
// top: 16,
//left: 140,
child: Container(
height: 25,
width: 80,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(5.0),
color: Colors.black, //Color(0xff0F0F0F),
boxShadow: [
BoxShadow(
color: Colors.black.withOpacity(0.3),
)
]),
child: Center(
child: Text(
_notesForDisplay[position].title,
style: TextStyle(color: Colors.white),
),
),
))*/
],
),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(5.0)),
elevation: 5,
//margin: EdgeInsets.all(10),
),
// _FeatureText(featurePhoto.title,16),
//_FeatureText(featurePhoto.subtitle,12),
]));}
_searchBar() {
return
Container(
width: 240,
child: Align(
alignment: Alignment.center,
child: TextField(
//controller: searchController,
cursorColor: Colors.white,
style: TextStyle(color: Colors.white,fontSize: 12,
fontFamily: 'Montserrat'),
decoration: InputDecoration(
border: InputBorder.none,
prefixIcon: Icon(
Icons.search,
color: Colors.white,
size: 15,
),
hintStyle: TextStyle(
color: Colors.white,
fontSize: 12,
fontFamily: 'Montserrat'),
//alignLabelWithHint: true,
hintText: "Search...",//contentPadding: EdgeInsets.only(top: 2),
),
onChanged: (text) {
text = text.toLowerCase();
setState(() {
_notesForDisplay = feature.where((note) {
var noteTitle = note.title.toLowerCase();
return noteTitle.contains(text);
}).toList();
});
},
),
));
}
容器(
身高:120,
//宽度:150,
子项:ListView.builder(
滚动方向:轴水平,
//填充:所有边缘设置(5.0),
itemCount:_notesForDisplay.length+1,
itemBuilder:(上下文、位置){
返回位置==0?\u搜索栏():\u列表项(位置-1);
}
)),
_列表项(位置){
回墨槽(
onTap:(){
_myFeatureSelection=position.toString();
调试打印(“myfeat:$\u myFeatureSelection”);
//_fetchFeaturePickedList();
_fetchComment();
},
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
卡片(
语义容器:对,
clipBehavior:Clip.antiAliasWithSaveLayer,
子:堆栈(
儿童:[
Image.network(\u notesForDisplay[position].img\u link,
宽度:120,高度:100,尺寸:BoxFit.盖),
/*定位(
//排名:16,
//左:140,
子:容器(
身高:25,
宽度:80,
装饰:盒子装饰(
边界半径:边界半径。圆形(5.0),
颜色:Colors.black,//颜色(0xFF0F0F),
boxShadow:[
箱形阴影(
颜色:颜色。黑色。不透明度(0.3),
)
]),
儿童:中心(
子:文本(
_notesForDisplay[位置]。标题,
样式:TextStyle(颜色:Colors.white),
),
),
))*/
],
),
形状:圆形矩形边框(
边界半径:边界半径。圆形(5.0)),
标高:5,
//保证金:所有(10),
),
//_FeatureText(featurePhoto.标题,16),
//_FeatureText(featurePhoto.副标题,12),
]));}
_搜索栏(){
返回
容器(
宽度:240,
子对象:对齐(
对齐:对齐.center,
孩子:TextField(
//控制器:搜索控制器,
光标颜色:颜色。白色,
样式:文本样式(颜色:颜色。白色,字体大小:12,
fontFamily:“蒙特塞拉特”),
装饰:输入装饰(
边框:InputBorder.none,
前缀:图标(
Icons.search,
颜色:颜色,白色,
尺码:15,
),
hintStyle:TextStyle(
颜色:颜色,白色,
尺寸:12,
fontFamily:“蒙特塞拉特”),
//alignLabelWithHint:正确,
hintText:“搜索…”,//contentPadding:EdgeInsets.only(顶部:2),
),
一旦更改:(文本){
text=text.toLowerCase();
设置状态(){
_notesForDisplay=功能。其中((注){
var notetTitle=note.title.toLowerCase();
返回noteTitle.contains(文本);
}).toList();
});
},
),
));
}