flutter评论界面
时间: 2023-10-21 16:04:49 浏览: 228
Flutter 界面背景添加水印
Flutter 可以使用 Material Design 的组件来创建漂亮的评论界面。以下是一个简单的评论界面的示例:
```dart
import 'package:flutter/material.dart';
class CommentScreen extends StatefulWidget {
@override
_CommentScreenState createState() => _CommentScreenState();
}
class _CommentScreenState extends State<CommentScreen> {
final _commentController = TextEditingController();
final _scrollController = ScrollController();
List<String> _comments = [
'这是第一条评论。',
'这是第二条评论。',
'这是第三条评论。',
'这是第四条评论。',
'这是第五条评论。',
];
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('评论'),
),
body: Column(
children: [
Expanded(
child: ListView.builder(
controller: _scrollController,
itemCount: _comments.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(_comments[index]),
);
},
),
),
Divider(height: 1),
Container(
decoration: BoxDecoration(
color: Theme.of(context).cardColor,
),
child: Row(
children: [
Expanded(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 12),
child: TextField(
controller: _commentController,
decoration: InputDecoration.collapsed(
hintText: '添加评论...',
),
),
),
),
IconButton(
icon: Icon(Icons.send),
onPressed: () {
if (_commentController.text.isNotEmpty) {
setState(() {
_comments.add(_commentController.text);
_commentController.clear();
_scrollController.animateTo(
_scrollController.position.maxScrollExtent,
duration: Duration(milliseconds: 500),
curve: Curves.easeInOut,
);
});
}
},
),
],
),
),
],
),
);
}
}
```
在这个例子中,我们使用了 `ListView.builder` 来展示评论列表,使用了 `TextField` 和 `IconButton` 来实现添加评论的功能。界面布局使用了 `Column` 和 `Container`,同时也使用了 `Divider` 来分隔评论列表和添加评论的输入框。
阅读全文