import 'package:flutter/material.dart';
import 'package:books_finder/books_finder.dart';
String inputText = '';
List<String> infoTitle = [];
String infoSubtitle = "";
List<String> infoAuthors = [];
class FinderBookSearch extends StatefulWidget {
const FinderBookSearch({super.key, required this.title});
final String title;
@override
State<FinderBookSearch> createState() => _FinderBookSearch();
}
class _FinderBookSearch extends State<FinderBookSearch> {
void loadBookInfos() async {
final books = await queryBooks(
inputText,
maxResults: 20,
printType: PrintType.books,
orderBy: OrderBy.relevance,
reschemeImageLinks: true,
langRestrict: "en",
);
for (var book in books) {
var info = book.info;
infoTitle.add(info.title);
}
}
final TextEditingController _searchController = TextEditingController();
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.white,
title: Container(
padding: const EdgeInsets.symmetric(horizontal: 8.0),
child: TextField(
onChanged: (text) {
setState(() {
inputText = text;
});
},
controller: _searchController,
decoration: InputDecoration(
hintText: 'Search...',
// Add a clear button to the search bar
suffixIcon: IconButton(
icon: const Icon(
Icons.clear,
color: Colors.black,
),
onPressed: () => _searchController.clear(),
),
prefixIcon: IconButton(
icon: const Icon(
Icons.search,
color: Colors.black,
),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (_) => const AfterSearchScreen(),
),
);
loadBookInfos();
},
),
),
),
)),
);
}
}
class AfterSearchScreen extends StatefulWidget {
const AfterSearchScreen({super.key});
@override
State<AfterSearchScreen> createState() => _AfterSearchScreenState();
}
class _AfterSearchScreenState extends State<AfterSearchScreen> {
Widget a(String text) {
return ElevatedButton(
style: const ButtonStyle(),
onPressed: () {},
child: ListTile(
title: Text(
text,
style: const TextStyle(color: Colors.black),
),
),
);
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Book Finder",
home: Scaffold(
backgroundColor: Colors.white,
body: Container(
decoration: const BoxDecoration(
color: Colors.greenAccent,
),
child: ListView.builder(
itemCount: infoTitle.length,
itemBuilder: (context, index) {
return a(infoTitle[index]);
},
),
),
),
);
}
}
这是我的密码.我想在我的应用程序上显示文本.我不知道为什么那个代码不能立刻工作.它不会立刻起作用.当我在我的Visual Studio代码中刷新自己时,它会显示文本.
我的主题是在不重新加载的情况下显示仰角按钮. 请让我知道它是否能在您的电脑上正常工作.因为我的电脑可能有故障.