在我的页面中,我希望在底部有一个评论部分,用户可以在那里提交评论。他们会把他们的名字,电子邮件,评论,并评级为5星的项目(他们的电子邮件将不会显示在页面上)。旁边的评论标题,我希望它显示的平均星级从客户评论的平均星级数。
我不知道如何实现这个功能,让他们写他们的评论,让它显示出来,然后采取平均星星。我目前正在尝试的需要我导入评级栏,但我得到这个错误。
Target of URI doesn't exist: 'package:flutter_rating_bar/flutter_rating_bar.dart'
这是我目前拥有的详细信息页面的代码(对于每一个项目,它都有它的标题(它将它分类为一个组,如饮料)、它的名称和它的描述):
class DetailsPage extends StatefulWidget {
final String imageUrl;
final String title;
final String name;
final String description;
DetailsPage({
required this.imageUrl,
required this.title,
required this.name,
required this.description,
});
@override
_DetailsPageState createState() => _DetailsPageState();
}
class _DetailsPageState extends State<DetailsPage> {
double rating = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: SingleChildScrollView(
child: SafeArea(
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Flexible(
fit: FlexFit.loose,
child: Container(
height: 300.0, // set a fixed height
margin: EdgeInsets.all(16.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16.0),
image: DecorationImage(
image: AssetImage(widget.imageUrl),
fit: BoxFit.cover,
),
),
),
),
Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
widget.name,
style: TextStyle(
fontSize: 24.0,
fontWeight: FontWeight.bold,
),
),
SizedBox(height: 8.0),
Text(
widget.description,
style: TextStyle(fontSize: 16.0),
),
SizedBox(height: 16.0),
Text(
'Rate this item',
style: TextStyle(
fontSize: 18.0,
fontWeight: FontWeight.bold,
),
),
SizedBox(height: 8.0),
RatingBar.builder(
initialRating: rating,
minRating: 1,
direction: Axis.horizontal,
allowHalfRating: true,
itemCount: 5,
itemSize: 40.0,
itemPadding: EdgeInsets.symmetric(horizontal: 4.0),
itemBuilder: (context, _) => Icon(
Icons.star,
color: Colors.amber,
),
onRatingUpdate: (ratingValue) {
setState(() {
rating = ratingValue;
});
},
),
],
),
),
],
),
),
),
);
}
}
2条答案
按热度按时间2sbarzqh1#
要修复错误
Target of URI doesn't exist:
当flutter找不到包路径时会发生这种情况,您可能忘记使用命令flutter pub get
下载包,请按照以下步骤操作:1.Flutter清理
1.重新启动Android Studio或Visual Studio(您使用的IDE或文本编辑器)
如果是工作别忘了投票。🙏️.
js81xvg62#
在您的终端中运行
flutter pub add flutter_rating_bar
,然后重新启动您的应用,您就完成了。