添加服务浏览详情

hmxc
张萌 4 years ago
parent 7bd49900cb
commit 58df346b72

@ -0,0 +1,87 @@
import 'package:aku_community/base/base_style.dart';
import 'package:aku_community/models/service_browse/service_browse_list_mode.dart';
import 'package:aku_community/utils/link_text_parase.dart';
import 'package:aku_community/widget/bee_scaffold.dart';
import 'package:flustars/flustars.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:url_launcher/url_launcher.dart';
import 'package:velocity_x/velocity_x.dart';
class ServiceBrowseDetailPage extends StatefulWidget {
final ServiceBrowseListModel model;
ServiceBrowseDetailPage({Key? key, required this.model}) : super(key: key);
@override
_ServiceBrowseDetailPageState createState() =>
_ServiceBrowseDetailPageState();
}
class _ServiceBrowseDetailPageState extends State<ServiceBrowseDetailPage> {
ServiceBrowseListModel get _detailModel => widget.model;
late List<String> _parasedText;
late TapGestureRecognizer _tapLinkUrlLancher; //
@override
void initState() {
super.initState();
_tapLinkUrlLancher = TapGestureRecognizer();
_parasedText = LinkTextParase.stringParase(widget.model.content);
}
@override
Widget build(BuildContext context) {
return BeeScaffold(
title: '服务浏览',
bodyColor: Colors.white,
body: ListView(
padding: EdgeInsets.symmetric(vertical: 24.w, horizontal: 32.w),
children: [
_detailModel.name.text
.size(32.sp)
.color(ktextPrimary)
.bold
.align(TextAlign.center)
.make(),
24.w.heightBox,
SizedBox(
width: double.infinity,
child: RichText(
text: TextSpan(
children: List.generate(_parasedText.length, (index) {
if (index.isEven) {
return TextSpan(
text: _parasedText[index],
style: TextStyle(fontSize: 28.sp, color: ktextPrimary),
);
} else {
return TextSpan(
text: _parasedText[index],
style: TextStyle(
fontSize: 28.sp,
color: Colors.lightBlue,
),
recognizer: _tapLinkUrlLancher
..onTap = () {
launch(_parasedText[index]);
});
}
})),
),
),
40.w.heightBox,
Row(
children: [
Spacer(),
'发布于 ${DateUtil.formatDateStr(_detailModel.createDate, format: 'MM-dd HH:mm')}'
.text
.size(24.sp)
.color(ktextSubColor)
.make(),
],
)
],
),
);
}
}

@ -56,10 +56,14 @@ class _ServiceBrowsePageState extends State<ServiceBrowsePage> {
} }
Widget _buildCard(ServiceBrowseListModel model) { Widget _buildCard(ServiceBrowseListModel model) {
return Container( return MaterialButton(
onPressed: () {
},
elevation: 0,
color: Colors.white, color: Colors.white,
padding: EdgeInsets.symmetric(vertical: 24.w, horizontal: 32.w), padding: EdgeInsets.symmetric(vertical: 24.w, horizontal: 32.w),
width: double.infinity, minWidth: double.infinity,
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [

Loading…
Cancel
Save