У меня проблема в том, что полученный список имеет пустое место вверху, но только тогда, когда я помещаю его в ящик. Я тестировал его в другом представлении без ящика, затем нет пустого места, но когда я меняю его так, чтобы он находился внутри ящика, в списке результатов вверху появляется пустое место.
Вот мой тест класс:
Код: Выделить всё
class Test extends StatelessWidget {
final List entries = ['A', 'B', 'C'];
final List colorCodes = [600, 500, 100];
List _searchResults = ["TestUser1", "TestUser2"]; // Die Liste der Suchergebnisse
@override
Widget build(BuildContext context) {
return Drawer(child: ListView(
padding: EdgeInsets.zero,
children: [
DrawerHeader(
decoration: BoxDecoration(
color: Color(0xFF2C2C2C),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Text(
'Quester',
style: TextStyle(
color: Colors.white,
fontSize: 28,
fontWeight: FontWeight.bold,
),
textAlign: TextAlign.center,
),
],
),
),
// Suchleiste mit Button
Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
children: [
Expanded(
child: TextField(
controller: SearchController(),
style: TextStyle(color: Colors.white),
decoration: InputDecoration(
hintText: 'Benutzernamen eingeben...',
hintStyle: TextStyle(color: Colors.white70),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.white),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: Colors.teal),
),
),
onSubmitted: (value) {
// Suchfunktion bei Enter auslösen
},
),
),
IconButton(
icon: Icon(Icons.search, color: Colors.white),
onPressed: () {
// Suchfunktion bei Button-Klick auslösen
},
),
],
),
),
// Dynamische Liste der Suchergebnisse
if (_searchResults.isNotEmpty)
Container(
decoration: BoxDecoration(
color: Colors.blueGrey.withOpacity(0.8), // Hellere graue Hintergrundfarbe
border: Border.all(color: Colors.blueGrey), // Rahmen um die gesamte Liste
borderRadius: BorderRadius.circular(10),
),
child: ListView.builder(
shrinkWrap: true,
itemCount: _searchResults.length,
itemBuilder: (context, index) {
return Container(
margin: EdgeInsets.symmetric(vertical: 4.0),
decoration: BoxDecoration(
color: Colors.blueGrey, // Hellere graue Farbe für die Listeneinträge
borderRadius: BorderRadius.circular(8),
border: Border.all(color: Colors.blueGrey), // Rahmen um jeden Eintrag
),
child: ListTile(
title: Text(
_searchResults[index],
style: TextStyle(color: Colors.white),
),
onTap: () {
},
),
);
},
),
),
ListTile(
leading: Icon(Icons.add, color: Colors.white),
title: Text('Item 1', style: TextStyle(color: Colors.white)),
onTap: () {
// Aktion für Item 1
},
),
ListTile(
leading: Icon(Icons.add, color: Colors.white),
title: Text('Item 2', style: TextStyle(color: Colors.white)),
onTap: () {
// Aktion für Item 2
},
),
// Weitere Items hier hinzufügen
],
),
);
}
}
Есть идеи?
Подробнее здесь: https://stackoverflow.com/questions/790 ... t-not-when